Difference between revisions of "Projects:ARRA:SlicerEM:AtlasCreator:PCA"

From NAMIC Wiki
Jump to: navigation, search
Line 65: Line 65:
 
       -va (third)  = Distance value of boundary (e.g. 10)
 
       -va (third)  = Distance value of boundary (e.g. 10)
 
</pre>
 
</pre>
 +
 +
Questions:
 +
 +
* Does the program support .nrrd output and input?
 +
* Do we transfer one label at a time to a distance map?
 +
* Can the maximum and distance values get computed automatically or does the user have to enter them?
  
 
=== Generate functionality ===
 
=== Generate functionality ===

Revision as of 20:58, 10 March 2011

Home < Projects:ARRA:SlicerEM:AtlasCreator:PCA

PCA functionality for the Atlas Creator

This content describes the PCA functionality of KilisSandbox.

Create environment for pcaModelling on Mac

$ tcsh
% cd /Users/daniel/SLICER/TRUNK/Slicer3/Modules/KilisSandbox/scripts
% source setEnvironment
% /Users/daniel/SLICER/TRUNK/Slicer3-build/Slicer3 --launch xterm

pcaModelling Help

Main

$ pcaModelling

Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist
=============================
General Options
-ld = load data - default: "1"
-pr = file prefix (mandatory)
-p2 = file prefix of second Volume
-sv = saving output in file formate (sli, img, hdr (analyze), nhdr or nrrd (NRRD),
                              mhd or mha (Meta), nii (Nifti), vtk) - default: nrrd
-va = value for function, default: 0.0
=============================
-fc = function (mandatory) - possibilities:
   distance       = Turns a labelmap into a distance map as needed for PCA modelling (*)
   generate       = Generate the PCA model from the training data (*)
   model          = Turns PCA analysis into 3D models (*)
   parameter      = Extracts the PCA shape parameters from a shape representation (e.g. distance map) (*)
   representation = Determines the shape representation from the PCA shape parameters (*)
   view           = View the PCA model (*)

-HELP = help function If the description of a function has (*) then execute -HELP <function> for more detail, e.g. mathImage -HELP com

Error: Currently function "" is not implemented
============================ End MathImage =======================

Questions:

  • What is the general workflow of the PCA functions? First distance, then generate..?
  • Can you give an example of commands which have to be executed during this workflow? (f.e. creating a PCA atlas using segmentations and originals folders?)

Distance functionality

$ pcaModelling -HELP distance
Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist

      To transfere the labelmap into a distance map according to the PCA model please define the following values:
      -path   = where should the file be save to
      -volume = defines the labelmap
      -va (first)  = defines the label of interest
      -va (second) = Maximum value in the distance map in Euclidean norm (e.g. 100)
      -va (third)  = Distance value of boundary (e.g. 10)

Questions:

  • Does the program support .nrrd output and input?
  • Do we transfer one label at a time to a distance map?
  • Can the maximum and distance values get computed automatically or does the user have to enter them?

Generate functionality

$ pcaModelling -HELP generate
Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist

      To generate the PCA  the training data has to be organized the following way
        <PATH>/case*/<STRUCTURES>/I
      where
        -path defines <PATH>
        the different subjects have to be named case<No>
        -list defines the different <STRUCTURES>
      e.g. /projects/iccv05/TestExample/TestEMPCASeg/PCATraining/distance/case1/Background/I.*
      with -path = /projects/iccv05/TestExample/TestEMPCASeg/PCATraining/distance and -list (Background Foreground)
      In addition:
        -max  defines the maximum number of Eigenvectors to compute
        -full defines the full image range, e.g. 1 124, where PCA might only be computed for 40 90
      The results will be located in <PATH>/PCA<STRUCTURES>
        -combine  =  define all structures in one PCA model (= 1) or define a PCA model for each structure independently (=0)
        -va  do you want to normalize the mean distance map so that it is a real distance map (generally a bad idea)

Model functionality

$ pcaModelling -HELP model
Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist

      To turn the shape representation into 3D models
        -list defines the <STRUCTURE> to be considered, e.g. Background
        -path defines the path of the location of the PCA directory
          where the subdirectory of PCA<STRUCTURE> define EigenValues_<STRUCTURE>.txt, EigenVector*, and  MeanImage
         e.g. -path is /projects/iccv05/TestExample/TestEMPCASeg and all necessary files are located in /projects/iccv05/TestExample/TestEMPCASeg/PCABackground
        -max  defines the maximum number of Eigenvectors to considere
        -combine just set this parameter if you have one PCA model for multiple structures bc the directory structure is sliglhty different (e.g.  TestEMPCASegBlub/PCATraining/distance/PCAFore_Back/Background/EigenVector5/I)

Parameter functionality

$ pcaModelling -HELP parameter
Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist

      To turn the shape representation into shape parameters
        -list defines the <STRUCTURE> to be considered, e.g. Background
        -path defines the path of the location of the PCA directory
          where the subdirectory of PCA<STRUCTURE> define EigenValues_<STRUCTURE>.txt, EigenVector*, and  MeanImage
         e.g. -path is /projects/iccv05/TestExample/TestEMPCASeg and all necessary files are located in /projects/iccv05/TestExample/TestEMPCASeg/PCABackground
        -max  defines the maximum number of Eigenvectors to considere
        -volume defines the volume that should be transfered from a shape representation into PCA parameters
        -combine just set this parameter if you have one PCA model for multiple structures bc the directory structure is sliglhty different (e.g.  TestEMPCASegBlub/PCATraining/distance/PCAFore_Back/Background/EigenVector5/I)
        -va (first) (Optional) define a file name to which results should be written


Representation functionality

$ pcaModelling -HELP representation
Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist

representation = Determines the shape representation from the PCA shape parameters
      To turn shape parameters into  shape representation (the opposite of function parameter)
        -list        = the <STRUCTURE> to be considered, e.g. Background
        -path        = the path of the location of the PCA directory
                       where the subdirectory of PCA<STRUCTURE> define EigenValues_<STRUCTURE>.txt, EigenVector*, and  MeanImage
                       e.g. -path is /projects/iccv05/TestExample/TestEMPCASeg and all necessary files are located in /projects/iccv05/TestExample/TestEMPCASeg/PCABackground
        -max         = the maximum number of Eigenvectors to considere
        -va (first)  = the list of shape parameters, e.g. (1.0 3.4)
        -va (second) = directory, where the resulting shape representation should be saved to
        -combine just set this parameter if you have one PCA model for multiple structures bc the directory structure is sliglhty different (e.g.  TestEMPCASegBlub/PCATraining/distance/PCAFore_Back/Background/EigenVector5/I)


View functionality

$ pcaModelling -HELP view
Slicer home is /Users/daniel/SLICER/TRUNK/Slicer3-build
============================ Start PCADistance =======================
Always look at vtkEMPrivateSegment/projects/iccv05/TestExample to see example structure
Now can read in raw data with extension .img
load multiple volumes by doing -pr "<dir>/*/prefix" eg case*/I.001 - 001 is important bc file has to exist

      To turn the shape representation into shape parameters
        -list defines the <STRUCTURE> to be considered, e.g. Background
        -path defines the path of the location of the PCA directory
          where the subdirectory of PCA<STRUCTURE> define EigenValues_<STRUCTURE>.txt, EigenVector*, and  MeanImage
         e.g. -path is /projects/iccv05/TestExample/TestEMPCASeg and all necessary files are located in /projects/iccv05/TestExample/TestEMPCASeg/PCABackground
        -max  defines the maximum number of Eigenvectors to considere
        -combine just set this parameter if you have one PCA model for multiple structures bc the directory structure is sliglhty different (e.g.  TestEMPCASegBlub/PCATraining/distance/PCAFore_Back/Background/EigenVector5/I)