vtkHyperStreamlineDTMRI.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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