Difference between revisions of "Documentation/Nightly/Extensions/pyLARSlicerExtension"

From Slicer Wiki
Jump to: navigation, search
(Created page with "<noinclude>{{documentation/versioncheck}}</noinclude> <!-- ---------------------------- --> {{documentation/{{documentation/version}}/module-header}} <!-- --------------------...")
 
m
 
(One intermediate revision by the same user not shown)
Line 69: Line 69:
 
{{documentation/{{documentation/version}}/module-section|Configuration files}}
 
{{documentation/{{documentation/version}}/module-section|Configuration files}}
  
    Unbiased atlas creation
+
* Unbiased atlas creation
    clean (boolean): Removes content of output directory before starting computation
+
** clean (boolean): Removes content of output directory before starting computation
    data_dir (string): directory containing 'file_list_file_name'
+
** 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
+
** 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
+
** verbose (boolean): Displays more or less information while running
    result_dir (string): output directory where outputs will be saved.
+
** 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].
+
** 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.
+
** 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_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]
+
** 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 (see example and ANTS documentation):
    ants_params = {'Convergence' : '[100x50x25,1e-6,10]',\
+
** 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.
                  '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
+
* Low Rank/Sparse decomposition
    clean (boolean): Removes content of output directory before starting computation
+
** clean (boolean): Removes content of output directory before starting computation
    data_dir (string): directory containing 'file_list_file_name'
+
** 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
+
** 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
+
** 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.
+
** lamda (float): the tuning parameter that weights between the low-rank component and the sparse component.
    sigma (float): blurring kernel size.
+
** sigma (float): blurring kernel size.
    result_dir (string): output directory where outputs will be saved.
+
** 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].
+
** 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.
+
** reference_im_fn (string): reference image used for the registration.
    registration (string): 'affine', 'rigid', or 'none'
+
** registration (string): 'affine', 'rigid', or 'none'
    histogram_matching (boolean/optional): If not specified or set to False, no histogram matching performed.
+
** histogram_matching (boolean/optional): If not specified or set to False, no histogram matching performed.
  
    Low Rank Atlas Creation
+
* Low Rank Atlas Creation
    clean (boolean): Removes content of output directory before starting computation
+
** clean (boolean): Removes content of output directory before starting computation
    data_dir (string): directory containing 'file_list_file_name'
+
** 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
+
** 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
+
** 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.
+
** lamda (float): the tuning parameter that weights between the low-rank component and the sparse component.
    sigma (float): blurring kernel size.
+
** sigma (float): blurring kernel size.
    result_dir (string): output directory where outputs will be saved.
+
** 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].
+
** 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.
+
** 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
+
** 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.
                                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_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]
    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]
    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 (see example and ANTS documentation): Only necessary if registration_type is set to ANTS.
+
** 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.
            ants_params = {'Convergence' : '[100x50x25,1e-6,10]',\
+
* File List File Name: text file containing a list of image file paths, one per line
                  'Dimension': 3,\
+
  /path/to/first/image.nrrd
                  'ShrinkFactors' : '4x2x1',\
+
  /path/to/second/image2.nrrd
                  'SmoothingSigmas' : '2x1x0vox',\
+
  /path/to/third/image3.nii.gz
                  '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.
 
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|References}}
 
{{documentation/{{documentation/version}}/module-section|References}}

Latest revision as of 19:24, 18 March 2016

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):
    • 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.
    • 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