Mouse Embryo Heart Imagery
MEHI is a python library for processing large-scale 3D spatial and temporal mouse embryo date. the paralleled version is built on Spark.
MEHI includes the basic module for image processing, like preprocessing, registration, 2-side fusion, segmentation, tracking. the project contains two implementation, a paralleled version and a serial version. the paralleled version is written against Spark's Python API(Pyspark), making use of scipy, numpy, PuLP and pandas
- Python 2.7
- numpy 1.9+
- pandas 0.16.1+
- matplotlib 1.4+
- PyWavelet 0.2.2+
- scikit-image 0.11+
- scipy 0.15+
- pyspark 1.3.0
- Cython 0.21+
The paralleled version is designed to run on a cluster, but currently, I just test it on local mode. Anyway, you can get it work by following steps.
- first install the requirements by pip
pip install -r requirements.txt
- compile with cython
make
you can use make clean
to clean and make test
to launch nosetest.
3. install
python setup.py install
or you can try python setup.py develop
and python setup.py develop --uninstall
then you can use import MEHI
- A main class with methods for initialization of Spark and control of the whole workflow.
- Classes for image processing module,like MEHI_s_fusion.
- Helper components like MEHI_s_IO, MEHI_s_common
Preprocessing:
- stripe_removal(): 去横纹
- intensity_normalization(): 亮度平衡,图像压缩
- saturation(): 饱和度调整
- flip(): 翻转图像
- invert(): 前景/背景转换
- black_tophat(): 黑帽滤波
- subtract_Background(): FIJI减背景
- shrink(): 图像降维
- projection(): 图像栈投影
- smooth(): 图像平滑
Registation&Fusion:
- mutual_information(): 基于互信息的对准
- cross_correlation(): 基于互相关的对准
- execute(): 实施对准向量
- content_fusion(): 基于局部熵的对准
- wavelet_fusion(): 基于小波变换的对准
Segmentation:
- Threshold(): otsu阈值粗分+watershed细分
- Properties(): 计算分割块的属性(坐标,朝向,大小...)
- Clustering(): 将2D分割按距离层次聚类
BSD