Algorithm:MGH:Development

From NAMIC Wiki
Jump to: navigation, search
Home < Algorithm:MGH:Development
  • Optimal path calculator
  • Use case: 'Specify 2 points in a diffusion image and tell how connected they are.'
  • Difficulty: High
  • Impact: High

See AHM 2006:ProjectsDTIPathOfInterest


  • Statistical power benefit of ITK nonlinear registration
  • Use case: 'Evaluate benefit of using ITK nonlinear registration for group FA comparisons'
  • Difficulty: Low-Medium
  • Impact: Medium

See: Engineering:Project:Non-rigid_EPI_registration


  • Automatic segmentation of DTI using Spectral Clustering
  • Use case: 'Automatically segment DTI image.'
  • Difficulty: Medium-High
  • Impact: Medium-High
  1. Implement algorithm in Matlab (Ziyan) : done
  2. Test/optimize on group data (Ziyan): in progress
  3. Port to diffusion toolkit (Tuch) : queued


  • Replacing Numerical Recipes in FreeSurfer (for open sourcing)
  • Use case: 'Unit tests pass with all replacements.'
  • Difficulty: Medium-High
  • Impact: High
  1. Write test cases for each algorithm (Snyder, Jen): done
  2. Identify replacements (Snyder, Jen): done
  3. Integrate required libraries into FreeSurfer build process (Snyder, Jen): done
  4. Iteratively replace recipes with substitutes and run tests (Snyder, Jen): in progress


  • Adding NRRD I/O to Freesurfer
  • Use case: 'Open a NRRD volume in FreeSurfer.'
  • Use case: 'Convert an MGH volume to a NRRD volume with Freesurfer.'
  • Difficulty: Low
  • Impact: Medium
  1. Write unit tests for new IO functions (Snyder): in progress
  2. Add NrrdIO libraries from Teem to FS source tree, build with autoconf (Snyder): done
  3. Write and test FS NRRD IO functions (Snyder, Kindlmann): in progress
  4. Develop approriate headers for MGH DWI data (Snyder): queued
  5. Automate header generation when possible (Snyder): queued


  • Replacing FreeDiffusion components with NA-MIC equivalents
  • Difficulty: Medium-High
  • Impact: Low
  1. Write regression tests: done
  2. Identify componenets to replace: queued
  3. Replace and test: queued


  • queued - step identified/specd
  • in progress - step in progress
  • done - step complete



DONE

  • QBALL visualization
  • Use case: 'Visualize q-ball data in Slicer.'
  • Difficulty: Low
  • Impact: Medium
  1. Implement ODF polygon decimation algorithm (Tuch) : done
  2. Port decimation fileformat into FreeDiffusion Visualizer (Snyder) : done
  3. Port QBALL/ODF visualization into Slicer (Estepar/Snyder/Kindlmann/Tuch/Westin): done
    1. Implement (Estepar): done
    2. Test on mock data set (Estepar): done
    3. Demo for real data set (Estepar/Snyder/Kindlmann): done

DONE

  • Tensor-based group comparison (Cramer test)
  • Use case: 'Compare DTI images between groups using the full tensor information.'
  • Difficulty: Medium
  • Impact: Medium-High
  1. Implement in R (Whitcher/Tuch) : done
  2. Power analysis (Whitcher) : done
  3. Port to Matlab (Whitcher) : done
  4. Validate Matlab version against R (Whitcher) : done
  5. Test on group data : done
  6. Release bootstrap-only version to test group: done
  7. Port FFT method from R to matlab (Whitcher): done
  8. Implement FFT method in diffusion development environment (Tuch): done

See Algorithm:MGH:Development:GroupComp