Skip to content

This is a Small Machine Learning Framework, for Image Segmentation on Medical Images.

Notifications You must be signed in to change notification settings

jcohenadad/dnn_seg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNN_Seg

Short Description

This is a Small Machine Learning Framework, for Image Segmentation on Medical Images.

It's build to be modular so that different parts can possibly be applied in neighboring domains.

So far we have tested these procedures on preprocessed* EM images of:

  1. Prefrontal Axon

    Prefrontal Axon

  2. Optic Nerve Fiber

    Optic Nerve Fiber

*The images were first preprocessed to 3 separate classes,

using a clustering tool (BayesNet or KMeans)


Code setup

Setup Python

1. The Miniconda package was used for python development

  • Download miniconda from conda

2. The file "setup/dnn_experiment.yaml" contains the python environment info

  • Inside a terminal, at root execute conda env create -f setup/dnn_experiment.yml
  • This can be done independently on Linux or other OS, using the yaml environment file, which contains all needed package info...

Setup ImageJ

ImageJ is an open-source scientific Image Processing Application, with Java Libraries.

  1. Download ImageJ in Fiji Form Fiji
  2. You can use this module to view images and edit them,
  3. And use it for some parts of the pipeline below...

Testing the modules

All the main processing can be viewed using python notebooks: (also found in the notebooks folder locally)

  1. Sampling Training Instances
  2. Making a LMDB Instance Base
  3. Operating a DNN Instance
  4. Operating an AEN Instance
  5. Operating a CRBM Instance
  6. Visualising Neural Networks

Running the code

All the code processing is mainly executed using workspaces:

  1. data_prep/sample/sample_set_workspace.py
  2. data_prep/base/production_script.py
  3. net/dnn_workspace.py
  4. net/autoenc_workspace.py
  5. net/run_crbm.py
  6. net/utils/_vis_best_maps.py

by changing values in the workspace files, which then execute separately.

There is a separate code which saves the configuration scripts, for experiment tracking.

The main processing pipeline blocks are described thouroughly in Neuron Fiber Segmentation.

For any questions, or issues you can email the developer at Kristijan Petrovski.


Ray measuring tool

The ray measuring tool is used to measure the fiber isolation band around a ROI border.

It is build from 4 different processing steps:

  1. raym/run_ray_meas.py
  2. raym/calc_matches.py
  3. raym/find_postc_params.py
  4. raym/draw_gratio.py

Also we provide an imagej plugin which automates all the processing, using a single text configuration file.

It's located at raym/RayMeasuringPlugin.

About

This is a Small Machine Learning Framework, for Image Segmentation on Medical Images.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 95.2%
  • Python 4.8%