Documentation/Nightly/Extensions/pyLARSlicerExtension

From Slicer Wiki
Revision as of 19:21, 18 March 2016 by Fbudin (talk | contribs)
Jump to: navigation, search
Home < Documentation < Nightly < Extensions < pyLARSlicerExtension


For the latest Slicer documentation, visit the read-the-docs.


Introduction and Acknowledgements

Extension: pyLAR Slicer Extension
Acknowledgments: This work was supported, in-part, by the NIBIB (R41EB015775), the NINDS (R41NS081792) and the NSF (EECS-1148870)
Integration of pyLAR, a python implementation of Low-rank Atlas-to-image Registration framework and its applications, as a Slicer extension
More information about pyLAR is available here .
Author: Francois Budin (Kitware)
Contributor1: Xiaoxiao Liu (Kitware)
Contributor2: Deepak Roy Chittajallu (Kitware)
Contributor3: Roland Kwitt (Kitware)
Contact: Francois Budin, <email>francois.budin@kitware.com</email>

Kitware, Inc.  
National Alliance for Medical Image Computing (NA-MIC)  
Icon  

Module Description

Use Cases

GUI
Brain surface

Tutorials

Panels and their use

Examples panel

The example panel presents two options:

  • Create sample configuration files: They can be edited and adapted to process the researcher's data. Most likely, the file containing the list of images to process (file_list_file_name) will also have to be updated before one runs the algorithm.


Module UI

The user needs to select a configuration file and the algorithm to run (unbiased atlas creation, low rank/Sparse decomposition, Low Rank Atlas Creation). The user then presses "Apply" and the result will be automatically loaded in Slicer. All the temporary images that were used and computed while the algorithm is running are saved in "result_dir" specified in the configuration file. The researcher can also specify an additional image that is not listed in the file containing the list of images. This image will be added at computation time. This is convenient for example if one needs to compute the Low Rank/Sparse decomposition of subjects one at the time, using a list of healthy control that does not need to be modified.

Configuration files

  • Unbiased atlas creation
   clean (boolean): Removes content of output directory before starting computation
   data_dir (string): directory containing 'file_list_file_name'
   file_list_file_name (string): text file containing a list of image file paths, one per line
   verbose (boolean): Displays more or less information while running
   result_dir (string): output directory where outputs will be saved.
   selection (list): select images that are processed in given list [must contain at least 2 values].
   reference_im_fn (string): reference image used for the registration.
   num_of_iterations_per_level (int): Number of iteration per level for the registration [>=0]
   num_of_levels (int): Number of levels (starting the registration at a down-sampled level) for the registration [>=1]
   ants_params (see example and ANTS documentation):
   ants_params = {'Convergence' : '[100x50x25,1e-6,10]',\
                 'Dimension': 3,\
                 'ShrinkFactors' : '4x2x1',\
                 'SmoothingSigmas' : '2x1x0vox',\
                 'Transform' :'SyN[0.5]',\
                 'Metric': 'Mattes[fixedIm,movingIm,1,50,Regular,0.95]'}
   number_of_cpu (integer/optional): Number of diffeomorphic registration run in parallel. In not specified,
                            it will run as many processes as there are CPU available. Beware, the processes might
                            already be multithreaded.
  • Low Rank/Sparse decomposition
   clean (boolean): Removes content of output directory before starting computation
   data_dir (string): directory containing 'file_list_file_name'
   file_list_file_name (string): text file containing a list of image file paths, one per line
   verbose (boolean): Displays more or less information while running
   lamda (float): the tuning parameter that weights between the low-rank component and the sparse component.
   sigma (float): blurring kernel size.
   result_dir (string): output directory where outputs will be saved.
   selection (list): select images that are processed in given list [must contain at least 1 value].
   reference_im_fn (string): reference image used for the registration.
   registration (string): 'affine', 'rigid', or 'none'
   histogram_matching (boolean/optional): If not specified or set to False, no histogram matching performed.
  • Low Rank Atlas Creation
   clean (boolean): Removes content of output directory before starting computation
   data_dir (string): directory containing 'file_list_file_name'
   file_list_file_name (string): text file containing a list of image file paths, one per line
   verbose (boolean): Displays more or less information while running
   lamda (float): the tuning parameter that weights between the low-rank component and the sparse component.
   sigma (float): blurring kernel size.
   result_dir (string): output directory where outputs will be saved.
   selection (list): select images that are processed in given list [must contain at least 2 values].
   reference_im_fn (string): reference image used for the registration.
   use_healthy_atlas (boolean): use a specified healthy atlas as reference image or compute a reference image from
                                the average of all the low-ranked images computed from the selected input images.
   num_of_iterations_per_level (int): Number of iteration per level for the registration [>=0]
   num_of_levels (int): Number of levels (starting the registration at a down-sampled level) for the registration [>=1]
   registration_type (string): Type of registration performed, selected among [BSpline,ANTS,Demons]
   ants_params (see example and ANTS documentation): Only necessary if registration_type is set to ANTS.
           ants_params = {'Convergence' : '[100x50x25,1e-6,10]',\
                 'Dimension': 3,\
                 'ShrinkFactors' : '4x2x1',\
                 'SmoothingSigmas' : '2x1x0vox',\
                 'Transform' :'SyN[0.5]',\
                 'Metric': 'Mattes[fixedIm,movingIm,1,50,Regular,0.95]'}
   number_of_cpu (integer/optional): Number of diffeomorphic registration run in parallel. In not specified,
                            it will run as many processes as there are CPU available. Beware, the processes might
                            already be multithreaded.
  • File List File Name: text file containing a list of image file paths, one per line
  /path/to/first/image.nrrd
  /path/to/second/image2.nrrd
  /path/to/third/image3.nii.gz

References

  • Liu et al., "Low-Rank to the Rescue – Atlas-Based Analyses in the Presence of Pathologies", MICCAI 2014, pp97-104
  • Liu et al., "Low-Rank Atlas Image Analyses in the Presence of Pathologies", IEEE Transactions on Medical Imaging, Vol. 34, No. 12, December 2015
  • Candes et al., "Robust Principal Component Analysis?", Journal of the ACM, Vol. 58, No. 3, 2011
  • Lin et al., "The Augmented Lagrangian Multiplier Method for Exact Recovery of Corrupted Low-Rank Matrices", 2011 (available online on archivX)


Information for Developers