This repository contains few image processing modules that I wrote, Blobs_per_cell and membrane_accumulation were used to perform the image analysis of a paper published in JCS and ImageAlignment is use in the Stanford imaging facility. For all these modules I made a notebook in order to have a better understanding on how they work.
-
All these modules includes an open_image_bioformat use python_bioformat package to allow to work with different image format, here is what it should be able to do:
-
Beginning and ending the javabridge to work python_bioformat
-
Create a dictionary with "important" image information (pixel size, number of channels etc.)
-
Read the image and return a numpy array
-
Do some batch analysis (go through a folder and return a list of numpy array)
-
Show all or a chunk of your images (with or without histogram) that are located in your folder
-
blobs_per_cells use the scikit-image package to analyse the images:
-
Extract the number of nucleus (number of cells)
-
Do some image processing
-
Extract the amount of blobs
-
Circle the blobs it found
-
Plot and save results as a box plot using pandas package
-
It also includes blobs_per_cells_click which is very similar to blobs_per_cell put can measure click events on the image:
- Extract the number of cells by measuring click events
- Do some image processing
- Extract the amount of blobs
- Circle the blobs it found
- Plot and save results as a box plot using pandas package
-
membrane_accumulation use the scikit-image package and the OpenCV package to analyse the images::
-
Draw a region of interest
-
Segment the accumulation in the ROI
-
Measure the surface occupy by the ROI and the segmented region
-
ImageAlignment use the OpenCV3 package to realign images::
-
Determine a matrix that can then be applied to realign the images
-
work with any format and with [ZTCYX] dimension
-
Save images as a TIF file keeping some essential metadata
This code uses a number of features in the scientific python stack. Thus far, this code has only been tested in a Mac OS environment, it may take some modification to run on other operating systems.
I highly recommend installing a scientific Python distribution such as Anaconda to handle the majority of the Python dependencies in this project.
###Python Dependencies
- Numpy and Scipy, numeric calculations and statistics in Python
- matplotlib, plotting in Python
- Pandas, data-frames for Python, handles the majority of data-structures
- scikit-image, used for image processing
- OpenCV, used for image processing