Giter VIP home page Giter VIP logo

medviewer's Introduction

MedViewer

Medical Image segmentation using active shape models on high frequency ultrasound data. The algorithm performs training as well as segmentation of Brain Ventricle of mouse embryo from high frequency ultrasound images. We use simple ITK to perform registration of images and save the registration results, the further processing is performed on the saved dataset. I cannot post the dataset for obvious reaons. The program also contains a graphical user interface over the entire algorithm.

Steps to run the codes:

  1. Install all the dependencies listed below. If you are using conda make sure to create a new environment to prevent the library conflicts.

from PyQt4 import QtGui, QtCore
from scipy import io
import numpy as np
import pyqtgraph as pg
import SimpleITK as sitk
from mayavi import mlab as ml
from pyface.qt import QtGui, QtCore
from traits.api import HasTraits, Instance, on_trait_change
from traitsui.api import View, Item
from mayavi.core.ui.api import MayaviScene, MlabSceneModel, SceneEditor \

  1. Perform registration of the dataset on any reference image from the dataset and save the results using initial_registration.py (Since my dataset was arranged as dictionary of dictionary you might need to change the loading function)

  2. Run GUI.py to run the graphical user interface and follow the buttons. A brief description of each button is provided below: 3a) Train ASM: Select the pre registered training ground truth label with the first selection as the reference image. The mean shape obtained after training is shown as a pop-up. Please note you need to close the figure to prevent the GUI from plotting the final result on the same figure. (The step assumes dataset is saved a numpy array) 3b) Get Image: Select the target image or testing image. 3c) ASM requires a very good initialization and the intial centroid must be defined inside function_class.py->matching: boxrange. 3d) Click on run ASM

  3. Additional features of the GUI: 4a) Use the slider below each widget to change slices in each direction. 4b) Use the horizontal slider to adjust lower and upper thresholding values.

Thank you

img

medviewer's People

Contributors

devansh20la avatar

Stargazers

 avatar Hong Zhao chan avatar TaoH avatar EricZhou avatar Joeyqwu avatar  avatar Dragon Wang avatar Pulkit Khandelwal avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.