27 #ifndef vtkDICOMToRAS_h
28 #define vtkDICOMToRAS_h
30 #include "vtkThreadedImageAlgorithm.h"
31 #include "vtkDICOMModule.h"
32 #include "vtkDICOMConfig.h"
35 #if defined(VTK_ABI_NAMESPACE_BEGIN)
36 VTK_ABI_NAMESPACE_BEGIN
41 #if defined(VTK_ABI_NAMESPACE_BEGIN)
54 void PrintSelf(ostream& os, vtkIndent indent) VTK_DICOM_OVERRIDE;
57 void SetRASToDICOM(
int v);
59 void RASToDICOMOn() { this->SetRASToDICOM(1); }
60 void RASToDICOMOff() { this->SetRASToDICOM(0); }
61 int GetRASToDICOM() {
return this->RASToDICOM; }
72 vtkMatrix4x4 *GetPatientMatrix() {
return this->PatientMatrix; }
83 void SetRASMatrix(vtkMatrix4x4 *matrix);
108 void RASMatrixHasPositionOn() { this->SetRASMatrixHasPosition(1); }
109 void RASMatrixHasPositionOff() { this->SetRASMatrixHasPosition(0); }
110 int GetRASMatrixHasPosition() {
return this->RASMatrixHasPosition; }
123 void AllowColumnReorderingOn() { this->SetAllowColumnReordering(1); }
124 void AllowColumnReorderingOff() { this->SetAllowColumnReordering(0); }
125 int GetAllowColumnReordering() {
return this->AllowColumnReordering; }
138 void AllowRowReorderingOn() { this->SetAllowRowReordering(1); }
139 void AllowRowReorderingOff() { this->SetAllowRowReordering(0); }
140 int GetAllowRowReordering() {
return this->AllowRowReordering; }
148 void CheckNeedToReorder();
155 void ComputeMatrix(
int extent[6],
double spacing[3],
double origin[3]);
157 int RequestInformation(
158 vtkInformation* request, vtkInformationVector** inputVector,
159 vtkInformationVector* outputVector) VTK_DICOM_OVERRIDE;
161 int RequestUpdateExtent(
162 vtkInformation* request, vtkInformationVector** inputVector,
163 vtkInformationVector* outputVector) VTK_DICOM_OVERRIDE;
166 vtkInformation* request, vtkInformationVector** inputVector,
167 vtkInformationVector* outputVector) VTK_DICOM_OVERRIDE;
169 void ThreadedRequestData(
170 vtkInformation *request, vtkInformationVector **inputVector,
171 vtkInformationVector *outputVector, vtkImageData ***inData,
172 vtkImageData **outData,
int ext[6],
int id) VTK_DICOM_OVERRIDE;
174 vtkMatrix4x4 *PatientMatrix;
175 vtkMatrix4x4 *RASMatrix;
178 int AllowColumnReordering;
179 int AllowRowReordering;
180 int RASMatrixHasPosition;
186 #ifdef VTK_DICOM_DELETE
Convert DICOM orientation to RAS orientation.
Definition: vtkDICOMToRAS.h:47
void UpdateMatrix()
Update the matrix without updating the output data.
void SetAllowColumnReordering(int v)
Allow the columns of the image to be reordered.
vtkMatrix4x4 * GetRASMatrix()
Get a matrix that places the image in RAS coordinates.
Definition: vtkDICOMToRAS.h:82
void SetAllowRowReordering(int v)
Allow the rows of the image to be reordered.
void SetRASMatrixHasPosition(int v)
Set whether the RAS matrix should have a non-zero final column.
void SetPatientMatrix(vtkMatrix4x4 *matrix)
Set a matrix that places the image in DICOM patient coords.
void PrintSelf(ostream &os, vtkIndent indent) VTK_DICOM_OVERRIDE
Print information about this object.
static vtkDICOMToRAS * New()
Static method for construction.
Generic filter that has one input..
Definition: vtkThreadedImageAlgorithm.h:38