vtkHyperStreamlineDTMRI.h

Go to the documentation of this file.
00001 /*=auto=========================================================================
00002 
00003   Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
00004 
00005   See Doc/copyright/copyright.txt
00006   or http://www.slicer.org/copyright/copyright.txt for details.
00007 
00008   Program:   3D Slicer
00009   Module:    $RCSfile: vtkHyperStreamlineDTMRI.h,v $
00010   Date:      $Date: 2007/02/23 19:06:47 $
00011   Version:   $Revision: 1.13 $
00012 
00013 =========================================================================auto=*/
00022 //
00027 //
00035 
00036 #ifndef __vtkHyperStreamlineDTMRI_h
00037 #define __vtkHyperStreamlineDTMRI_h
00038 
00039 #include "vtkTeemConfigure.h"
00040 #include "vtkHyperStreamline.h"
00041 #include "vtkDiffusionTensorMathematics.h" 
00042 #include "vtkTractographyPointAndArray.h"
00043 
00044 class VTK_Teem_EXPORT vtkHyperStreamlineDTMRI : public vtkHyperStreamline
00045 {
00046 public:
00047   vtkTypeRevisionMacro(vtkHyperStreamlineDTMRI,vtkHyperStreamline);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00054   static vtkHyperStreamlineDTMRI *New();
00055 
00061   vtkGetMacro(RadiusOfCurvature,vtkFloatingPointType);
00062   vtkSetMacro(RadiusOfCurvature,vtkFloatingPointType);
00063 
00066   vtkSetMacro(IntegrationStepLength,double);
00067 
00070   vtkGetMacro(StoppingMode,int);
00071   vtkSetMacro(StoppingMode,int);
00072   void SetStoppingModeToFractionalAnisotropy()
00073     {this->SetStoppingMode(vtkDiffusionTensorMathematics::VTK_TENS_FRACTIONAL_ANISOTROPY);};
00074   void SetStoppingModeToLinearMeasure()
00075     {this->SetStoppingMode(vtkDiffusionTensorMathematics::VTK_TENS_LINEAR_MEASURE);};
00076   void SetStoppingModeToPlanarMeasure()
00077     {this->SetStoppingMode(vtkDiffusionTensorMathematics::VTK_TENS_PLANAR_MEASURE);};
00078   void SetStoppingModeToSphericalMeasure()
00079     {this->SetStoppingMode(vtkDiffusionTensorMathematics::VTK_TENS_SPHERICAL_MEASURE);};
00080 
00081 
00084   vtkGetMacro(StoppingThreshold,vtkFloatingPointType);
00085   vtkSetMacro(StoppingThreshold,vtkFloatingPointType);
00086 
00090   vtkGetMacro(OutputTensors, int);
00091   vtkSetMacro(OutputTensors, int);
00092   vtkBooleanMacro(OutputTensors, int);
00093 
00098   vtkGetMacro(OneTrajectoryPerSeedPoint, int);
00099   vtkSetMacro(OneTrajectoryPerSeedPoint, int);
00100   vtkBooleanMacro(OneTrajectoryPerSeedPoint, int);
00101 
00102 protected:
00103   vtkHyperStreamlineDTMRI();
00104   ~vtkHyperStreamlineDTMRI();
00105 
00107   virtual int RequestData(vtkInformation *,vtkInformationVector**, vtkInformationVector *);
00108   void BuildLines(vtkDataSet *input, vtkPolyData *output);
00109   void BuildLinesForSingleTrajectory(vtkDataSet *input, vtkPolyData *output);
00110   void BuildLinesForTwoTrajectories(vtkDataSet *input, vtkPolyData *output);
00111 
00112   vtkFloatingPointType RadiusOfCurvature;
00113   int StoppingMode;
00114   vtkFloatingPointType StoppingThreshold;
00115 
00116   int OutputTensors;
00117 
00118   int OneTrajectoryPerSeedPoint;
00119 
00120   vtkTractographyArray *Streamers;
00121 
00122 private:
00123   vtkHyperStreamlineDTMRI(const vtkHyperStreamlineDTMRI&);  
00124   void operator=(const vtkHyperStreamlineDTMRI&);  
00125 };
00126 
00127 #endif
00128 
00129 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1