Git Product home page Git Product logo

b2-sfsu-spring2013's Introduction

###Intensity Based 3D Image Registration Using Maximization of Mutual Information

Intensity based 3D rigid medical image registration using mutual information maximization algorithm. It is developed as a Term Project for the course CSC621-821 in Spring 2013 at San Francisco State University. it made use of ITK image registration modules. Basic modules used in this project includes:

  1. TranslationTransform as Transformation algorithm 
  2. LinearInterpolation as Interpolation function
  3. RegularStepGradientDescentOptimizer as Optimizer
  4. MattesMutaulInformationImageToImageMetric as a metric
  5. MultiResolutionPyramidImageFilter used to speed up the convergence of the optimizer

###file Organization 1. all the source files are in source folder 2. example 3D volumes in mha format are provided in the Data folder 3. output folder is used to store registration output files 4. build contains executables


###How to Compile 1. follow all the necessary steps used to build ITK project using cmake provide source folder as project source and build folder as project build folder 2. if unix Makefile is selected as the generator for the project in cmake then go to build type "make" you will have all the executable necessary for the project in that folder. 3. if some other project generators are selected in cmake then you should use the generator's build tools to build the project. Here too you will get all the executables ready in the build folder


###How to run 1. if make is used to create the executables you can use the provided shell script to run the project

        ./register [parameter file] 
      
  where register is the shell script and parameter file is optional which contains the parameters to be used 
  by the registration tool. an example parameter file with name "param.dat" is provided. if not parameter 
  file is provided as argument to the script then the defualt parameter file will be used refer to README 
  file in the build directory to know what these parameters are and how they are written in the file

2. if some other build tools are used to generate the executables or if system is windows then you 
   should run the executables manualy by passing the optional parameter file.

  if either the fixed or moving volumes are in dicom file format then the script above in case of option 1 will 
  automatically convert them to .mha to be used by the registration class. but in the case of 2 they have to be 
  converted manualy using the DicomRead executable which requirs dicom series directory 
  and output file name as parameter to generate .mha volume from the dicom series.

3. once you run your registration system. you may use the "plot" script provided in the build folder if you 
   want to have a plot of the optimizer behaviour during the optimization process. the script will write 
   the output plot in postscript .eps format which can be easly read by any pdf reader.

4. Similarly, after the registration process is done you will get three 3D volumes (registered 3D volume,3D difference 
   before registration 3D difference after registration) in .mha format and two 2D images in png (Mosaic view before 
   registration,Mosaiv view after registration) the 2D images can be viewed any image viewer application. 
   But to view 3D volumes you need 3D viewer softwares.

####3D Volume Viewers

  1. ITK-SNAP
  2. ImageJ
  3. paraview

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.