0% found this document useful (0 votes)
134 views

Bio-Medical Image Processing

Every minute 1.78 million GB of data is produced online, mostly in the form of images and videos. This large amount of visual data requires automated image processing to analyze and extract useful information. Image processing involves importing, analyzing, and outputting results from images using both analog and digital techniques. Popular tools for image manipulation and processing in Python include scikit-image, NumPy, SciPy, PIL/Pillow, OpenCV-Python, SimpleCV, Mahotas, SimpleITK, Pgmagick, and Pycairo.

Uploaded by

PRASANTH KUMAR J
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views

Bio-Medical Image Processing

Every minute 1.78 million GB of data is produced online, mostly in the form of images and videos. This large amount of visual data requires automated image processing to analyze and extract useful information. Image processing involves importing, analyzing, and outputting results from images using both analog and digital techniques. Popular tools for image manipulation and processing in Python include scikit-image, NumPy, SciPy, PIL/Pillow, OpenCV-Python, SimpleCV, Mahotas, SimpleITK, Pgmagick, and Pycairo.

Uploaded by

PRASANTH KUMAR J
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 82

Every minute a whooping 1.

78 million GB data gets produced online

Its all images and videos

This is where automated image processing comes in


Image processing is a method to perform some operations on an
image, in order to get an enhanced image or to extract some
useful information from it. It is a type of signal processing in
which input is an image and output may be image or
characteristics/features associated with that image.
Image processing basically includes the following three steps:

1. Importing the image via image acquisition tools;


2. Analysing and manipulating the image;
3. Output in which result can be altered image or report that is based on image analysis.
There are two types of methods used for image processing namely, analogue and digital
image processing. Analogue image processing can be used for the hard copies like
printouts and photographs. Image analysts use various fundamentals of interpretation
while using these visual techniques. Digital image processing techniques help in
manipulation of the digital images by using computers.
What is an image?
An image is defined as a two-dimensional function,F(x,y), where x and y are spatial
coordinates, and the amplitude of F at any pair of coordinates (x,y) is called the intensity
of that image at that point. When x,y, and amplitude values of F are finite, we call it a
digital image.
Types of an image
1.BINARY IMAGE– The binary image as its name suggests, contain only two pixel
elements i.e 0 & 1,where 0 refers to black and 1 refers to white. This image is also
known as Monochrome.
2.BLACK AND WHITE IMAGE– The image which consist of only black and white color
is called BLACK AND WHITE IMAGE.
3.8 bit COLOR FORMAT– It is the most famous image format.It has 256 different
shades of colors in it and commonly known as Grayscale Image. In this format, 0
stands for Black, and 255 stands for white, and 127 stands for gray.
4.16 bit COLOR FORMAT– It is a color image format. It has 65,536 different colors in
it.It is also known as High Color Format. In this format the distribution of color is not
as same as Grayscale image.
A 16 bit format is actually divided into three further formats which are Red, Green and
Blue. That famous RGB format.
Image as a Matrix
As we know, images are represented in rows and columns we have the following
syntax in which images are represented:
Purpose of Image processing
The purpose of image processing is divided into 5 groups. They are :

Visualization - Observe the objects that are not visible.

Image sharpening and restoration - To create a better image.

Image retrieval - Seek for the image of interest.

Measurement of pattern – Measures various objects in an image.

Image Recognition – Distinguish the objects in an image.


Applications of Image Processing

• Computerized photography (e.g., Photoshop)

• Space image processing (e.g., Hubble space telescope images, interplanetary probe images)

• Medical/Biological image processing (e.g., interpretation of X-ray images, blood/cellular


microscope images)

• Automatic character recognition (zip code, license plate recognition)

• Finger print/face/iris recognition

• Remote sensing: aerial and satellite image interpretations


10 Python image manipulation tools

1. scikit-image
scikit-image is an open source Python package that works with NumPy arrays. It
implements algorithms and utilities for use in research, education, and industry
applications. It is a fairly simple and straightforward library, even for those who are
new to Python's ecosystem.
2. NumPy

NumPy is one of the core libraries in Python programming and provides support for arrays.
An image is essentially a standard NumPy array containing pixels of data points. Therefore,
by using basic NumPy operations, such as slicing, masking, and fancy indexing, you can
modify the pixel values of an image. The image can be loaded using skimage and
displayed using Matplotlib.
3. SciPy

SciPy is another of Python's core scientific modules (like NumPy) and can be used for
basic image manipulation and processing tasks. In particular, the submodule 
scipy.ndimage (in SciPy v1.1.0) provides functions operating on n-dimensional NumPy
arrays. The package currently includes functions for linear and non-linear filtering,
binary morphology, B-spline interpolation, and object measurements.
4. PIL/Pillow

PIL (Python Imaging Library) is a free library for the Python programming language that
adds support for opening, manipulating, and saving many different image file formats.
However, its development has stagnated, with its last release in 2009. Fortunately, there is 
Pillow, an actively developed fork of PIL, that is easier to install, runs on all major operating
systems, and supports Python 3. The library contains basic image processing functionality,
including point operations, filtering with a set of built-in convolution kernels, and color-
space conversions.
5. OpenCV-Python

OpenCV (Open Source Computer Vision Library) is one of the most widely used libraries
for computer vision applications. OpenCV-Python is the Python API for OpenCV. OpenCV-
Python is not only fast, since the background consists of code written in C/C++, but it is
also easy to code and deploy (due to the Python wrapper in the foreground). This makes it
a great choice to perform computationally intensive computer vision programs.
6. SimpleCV

SimpleCV is another open source framework for building computer vision applications. It
offers access to several high-powered computer vision libraries such as OpenCV, but
without having to know about bit depths, file formats, color spaces, etc. Its learning curve
is substantially smaller than OpenCV's, and (as its tagline says), "it's computer vision
made easy." Some points in favor of SimpleCV are:
•Even beginning programmers can write simple machine vision tests
•Cameras, video files, images, and video streams are all interoperable
7. Mahotas

Mahotas is another computer vision and image processing library for Python. It contains
traditional image processing functions such as filtering and morphological operations, as well
as more modern computer vision functions for feature computation, including interest point
detection and local descriptors. The interface is in Python, which is appropriate for fast
development, but the algorithms are implemented in C++ and tuned for speed. Mahotas'
library is fast with minimalistic code and even minimum dependencies. Read its official paper
 for more insights.
8. SimpleITK

ITK (Insight Segmentation and Registration Toolkit) is an "open source, cross-platform


system that provides developers with an extensive suite of software tools for image
analysis. SimpleITK is a simplified layer built on top of ITK, intended to facilitate its use in
rapid prototyping, education, [and] interpreted languages." It's also an image analysis
toolkit with a large number of components supporting general filtering operations, image
segmentation, and registration. SimpleITK is written in C++, but it's available for a large
number of programming languages including Python.
9. Pgmagick

pgmagick is a Python-based wrapper for the GraphicsMagick library. The GraphicsMagick


 image processing system is sometimes called the Swiss Army Knife of image processing.
Its robust and efficient collection of tools and libraries supports reading, writing, and
manipulating images in over 88 major formats including DPX, GIF, JPEG, JPEG-2000,
PNG, PDF, PNM, and TIFF.
10. Pycairo

Pycairo is a set of Python bindings for the Cairo graphics library. Cairo is a 2D graphics


library for drawing vector graphics. Vector graphics are interesting because they don't
lose clarity when resized or transformed. Pycairo can call Cairo commands from Python.
Deep Learning Framework

A deep learning framework is an interface, library or a tool which allows us to


build deep learning models more easily and quickly, without getting into the
details of underlying algorithms. They provide a clear and concise way for
defining models using a collection of pre-built and optimized components.

You might also like