vtk-dicom  0.8.17
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkDICOMToRAS Class Reference

Convert DICOM orientation to RAS orientation. More...

#include <vtkDICOMToRAS.h>

Inheritance diagram for vtkDICOMToRAS:
Inheritance graph
[legend]
Collaboration diagram for vtkDICOMToRAS:
Collaboration graph
[legend]

Public Types

typedef vtkThreadedImageAlgorithm Superclass
 
- Public Types inherited from vtkThreadedImageAlgorithm
typedef vtkImageAlgorithm Superclass
 
- Public Types inherited from vtkImageAlgorithm
typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
enum  DesiredOutputPrecision { SINGLE_PRECISION , DOUBLE_PRECISION , DEFAULT_PRECISION }
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 
vtkDICOMToRASNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_DICOM_OVERRIDE
 Print information about this object.
 
void SetRASToDICOM (int v)
 Reverse the filter: do RAS to DICOM instead of DICOM to RAS.
 
void RASToDICOMOn ()
 
void RASToDICOMOff ()
 
int GetRASToDICOM ()
 
void SetPatientMatrix (vtkMatrix4x4 *matrix)
 Set a matrix that places the image in DICOM patient coords. More...
 
vtkMatrix4x4 * GetPatientMatrix ()
 
vtkMatrix4x4 * GetRASMatrix ()
 Get a matrix that places the image in RAS coordinates. More...
 
void SetRASMatrix (vtkMatrix4x4 *matrix)
 
void UpdateMatrix ()
 Update the matrix without updating the output data. More...
 
void SetRASMatrixHasPosition (int v)
 Set whether the RAS matrix should have a non-zero final column. More...
 
void RASMatrixHasPositionOn ()
 
void RASMatrixHasPositionOff ()
 
int GetRASMatrixHasPosition ()
 
void SetAllowColumnReordering (int v)
 Allow the columns of the image to be reordered. More...
 
void AllowColumnReorderingOn ()
 
void AllowColumnReorderingOff ()
 
int GetAllowColumnReordering ()
 
void SetAllowRowReordering (int v)
 Allow the rows of the image to be reordered. More...
 
void AllowRowReorderingOn ()
 
void AllowRowReorderingOff ()
 
int GetAllowRowReordering ()
 
- Public Member Functions inherited from vtkThreadedImageAlgorithm
vtkThreadedImageAlgorithmNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
virtual void ThreadedExecute (vtkImageData *inData, vtkImageData *outData, int extent[6], int threadId)
 
virtual bool GetEnableSMP ()
 
virtual void SetEnableSMP (bool)
 
virtual void SetMinimumPieceSize (int, int, int)
 
virtual void SetMinimumPieceSize (int[3])
 
virtual int * GetMinimumPieceSize ()
 
virtual void GetMinimumPieceSize (int &, int &, int &)
 
virtual void GetMinimumPieceSize (int[3])
 
virtual void SetDesiredBytesPerPiece (vtkIdType)
 
virtual vtkIdType GetDesiredBytesPerPiece ()
 
virtual void SetSplitMode (int)
 
void SetSplitModeToSlab ()
 
void SetSplitModeToBeam ()
 
void SetSplitModeToBlock ()
 
virtual int GetSplitMode ()
 
virtual void SetNumberOfThreads (int)
 
virtual int GetNumberOfThreads ()
 
virtual int SplitExtent (int splitExt[6], int startExt[6], int num, int total)
 
- Public Member Functions inherited from vtkImageAlgorithm
vtkImageAlgorithmNewInstance () const
 
vtkImageData * GetOutput ()
 
vtkImageData * GetOutput (int)
 
virtual void SetOutput (vtkDataObject *d)
 
int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE
 
void SetInputData (vtkDataObject *)
 
void SetInputData (int, vtkDataObject *)
 
vtkDataObject * GetInput (int port)
 
vtkDataObject * GetInput ()
 
vtkImageData * GetImageDataInput (int port)
 
virtual void AddInputData (vtkDataObject *)
 
virtual void AddInputData (int, vtkDataObject *)
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 
vtkExecutive * GetExecutive ()
 
virtual void SetExecutive (vtkExecutive *executive)
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
 
virtual int ModifyRequest (vtkInformation *request, int when)
 
vtkInformation * GetInputPortInformation (int port)
 
vtkInformation * GetOutputPortInformation (int port)
 
virtual vtkInformation * GetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
void Register (vtkObjectBase *o) VTK_OVERRIDE
 
void UnRegister (vtkObjectBase *o) VTK_OVERRIDE
 
virtual void SetAbortExecute (int)
 
virtual int GetAbortExecute ()
 
virtual void AbortExecuteOn ()
 
virtual void AbortExecuteOff ()
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void UpdateProgress (double amount)
 
void SetProgressText (const char *ptext)
 
virtual char * GetProgressText ()
 
virtual unsigned long GetErrorCode ()
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
 
vtkInformation * GetInputArrayInformation (int idx)
 
void RemoveAllInputs ()
 
vtkDataObject * GetOutputDataObject (int port)
 
vtkDataObject * GetInputDataObject (int port, int connection)
 
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void SetInputConnection (vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, int idx)
 
virtual void RemoveAllInputConnections (int port)
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutput * GetOutputPort (int index)
 
vtkAlgorithmOutput * GetOutputPort ()
 
int GetNumberOfInputConnections (int port)
 
int GetTotalNumberOfInputConnections ()
 
vtkAlgorithmOutput * GetInputConnection (int port, int index)
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 
vtkAlgorithmGetInputAlgorithm ()
 
vtkExecutive * GetInputExecutive (int port, int index)
 
vtkExecutive * GetInputExecutive ()
 
vtkInformation * GetInputInformation (int port, int index)
 
vtkInformation * GetInputInformation ()
 
vtkInformation * GetOutputInformation (int port)
 
virtual void Update (int port)
 
virtual void Update ()
 
virtual int Update (int port, vtkInformationVector *requests)
 
virtual int Update (vtkInformation *requests)
 
virtual int UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0)
 
virtual int UpdateExtent (const int extents[6])
 
virtual int UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0)
 
virtual void UpdateInformation ()
 
virtual void UpdateDataObject ()
 
virtual void PropagateUpdateExtent ()
 
virtual void UpdateWholeExtent ()
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 
virtual void SetReleaseDataFlag (int)
 
virtual int GetReleaseDataFlag ()
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent ()
 
void SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int port, int extent[6])
 
void SetUpdateExtent (int extent[6])
 
int * GetUpdateExtent ()
 
int * GetUpdateExtent (int port)
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int extent[6])
 
void GetUpdateExtent (int port, int extent[6])
 
int GetUpdatePiece ()
 
int GetUpdatePiece (int port)
 
int GetUpdateNumberOfPieces ()
 
int GetUpdateNumberOfPieces (int port)
 
int GetUpdateGhostLevel ()
 
int GetUpdateGhostLevel (int port)
 
void SetProgressObserver (vtkProgressObserver *)
 
virtual vtkProgressObserver * GetProgressObserver ()
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommand * GetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 

Static Public Member Functions

static vtkDICOMToRASNew ()
 Static method for construction.
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkDICOMToRASSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkThreadedImageAlgorithm
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkThreadedImageAlgorithmSafeDownCast (vtkObjectBase *o)
 
static void SetGlobalDefaultEnableSMP (bool enable)
 
static bool GetGlobalDefaultEnableSMP ()
 
- Static Public Member Functions inherited from vtkImageAlgorithm
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkImageAlgorithmSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKey * INPUT_IS_OPTIONAL ()
 
static vtkInformationIntegerKey * INPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKey * INPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKey * INPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKey * INPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKey * INPUT_PORT ()
 
static vtkInformationIntegerKey * INPUT_CONNECTION ()
 
static vtkInformationIntegerKey * CAN_PRODUCE_SUB_EXTENT ()
 
static vtkInformationIntegerKey * CAN_HANDLE_PIECE_REQUEST ()
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
void CheckNeedToReorder ()
 Check whether the data will be reordered in cols or rows.
 
void ComputeMatrix (int extent[6], double spacing[3], double origin[3])
 Compute the RAS matrix and store it in this->Matrix. More...
 
int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 
int RequestUpdateExtent (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 
int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 
void ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id) VTK_DICOM_OVERRIDE
 
- Protected Member Functions inherited from vtkThreadedImageAlgorithm
int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_OVERRIDE
 
virtual void SMPRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, vtkIdType begin, vtkIdType end, vtkIdType pieces, int extent[6])
 
virtual void PrepareImageData (vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inDataObjects=0, vtkImageData **outDataObjects=0)
 
- Protected Member Functions inherited from vtkImageAlgorithm
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual void ExecuteDataWithInformation (vtkDataObject *output, vtkInformation *outInfo)
 
virtual void ExecuteData (vtkDataObject *output)
 
virtual void Execute ()
 
virtual void AllocateOutputData (vtkImageData *out, vtkInformation *outInfo, int *uExtent)
 
virtual vtkImageData * AllocateOutputData (vtkDataObject *out, vtkInformation *outInfo)
 
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
 
int FillOutputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
int FillInputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
- Protected Member Functions inherited from vtkAlgorithm
virtual void SetNumberOfInputPorts (int n)
 
virtual void SetNumberOfOutputPorts (int n)
 
int InputPortIndexInRange (int index, const char *action)
 
int OutputPortIndexInRange (int index, const char *action)
 
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkDataArray * GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkDataArray * GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkDataObject *input)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkInformation * GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 
virtual vtkExecutive * CreateDefaultExecutive ()
 
virtual void SetErrorCode (unsigned long)
 
void ReportReferences (vtkGarbageCollector *) VTK_OVERRIDE
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 
virtual void SetNumberOfInputConnections (int port, int n)
 
void SetInputDataInternal (int port, vtkDataObject *input)
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
- Protected Member Functions inherited from vtkObject
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkMatrix4x4 * PatientMatrix
 
vtkMatrix4x4 * RASMatrix
 
int RASToDICOM
 
int AllowColumnReordering
 
int AllowRowReordering
 
int RASMatrixHasPosition
 
int ReorderColumns
 
int ReorderRows
 
double Matrix [16]
 
- Protected Attributes inherited from vtkThreadedImageAlgorithm
vtkMultiThreader * Threader
 
int NumberOfThreads
 
bool EnableSMP
 
int SplitMode
 
int SplitPath [3]
 
int SplitPathLength
 
int MinimumPieceSize [3]
 
vtkIdType DesiredBytesPerPiece
 
- Protected Attributes inherited from vtkAlgorithm
vtkInformation * Information
 
unsigned long ErrorCode
 
double Progress
 
char * ProgressText
 
vtkProgressObserver * ProgressObserver
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Public Attributes inherited from vtkAlgorithm
int AbortExecute
 
- Protected Types inherited from vtkThreadedImageAlgorithm
enum  SplitModeEnum { SLAB = 0 , BEAM = 1 , BLOCK = 2 }
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED ()
 
- Static Protected Attributes inherited from vtkThreadedImageAlgorithm
static bool GlobalDefaultEnableSMP
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutive * DefaultExecutivePrototype
 

Detailed Description

Convert DICOM orientation to RAS orientation.

This class will modify an image and its position-and-orientation matrix so that the patient coordinate system follows the conventions of NIFTI and MINC, i.e. the x, y, and z axes will point in the right, anterior, and superior directions respectively. Optionally, the row and column ordering of the image will also be modified so that the row direction preferentially points right or anterior, and the column direction preferentially points superior or anterior.

Member Function Documentation

◆ ComputeMatrix()

void vtkDICOMToRAS::ComputeMatrix ( int  extent[6],
double  spacing[3],
double  origin[3] 
)
protected

Compute the RAS matrix and store it in this->Matrix.

If extent doesn't start at zero, make it so that it does. Also change the origin if RASMatrixHasPosition is Off.

◆ GetRASMatrix()

vtkMatrix4x4* vtkDICOMToRAS::GetRASMatrix ( )
inline

Get a matrix that places the image in RAS coordinates.

This matrix is meant to be used with the output image (unless the method RASToDICOMOn() has been called to reverse the operation of the filter).

◆ IsA()

virtual vtkTypeBool vtkDICOMToRAS::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkThreadedImageAlgorithm.

◆ RequestData()

int vtkDICOMToRAS::RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual

This is called in response to a REQUEST_DATA request from the executive. Subclasses should override either this method or the ExecuteDataWithInformation method in order to generate data for their outputs. For images, the output arrays will already be allocated, so all that is necessary is to fill in the voxel values.

Reimplemented from vtkImageAlgorithm.

◆ RequestInformation()

int vtkDICOMToRAS::RequestInformation ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual

Subclasses can reimplement this method to collect information from their inputs and set information for their outputs.

Reimplemented from vtkImageAlgorithm.

◆ RequestUpdateExtent()

int vtkDICOMToRAS::RequestUpdateExtent ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

Subclasses can reimplement this method to translate the update extent requests from each output port into update extent requests for the input connections.

Reimplemented from vtkImageAlgorithm.

◆ SetAllowColumnReordering()

void vtkDICOMToRAS::SetAllowColumnReordering ( int  v)

Allow the columns of the image to be reordered.

The columns can be reordered so that columns with higher indices are further to the right or further anterior. Note that if you turn this option on, then you are implicitly allowing slice reordering to occur as well. If you turn both ColumnReordering and SliceReordering off, then the input data will be directly passed to the output.

◆ SetAllowRowReordering()

void vtkDICOMToRAS::SetAllowRowReordering ( int  v)

Allow the rows of the image to be reordered.

The rows can be reordered so that rows with higher indices are further superior or further anterior. Note that if you turn this option on, then you are implicitly allowing slice reordering to occur as well. If you turn both ColumnReordering and SliceReordering off, then the input data will be directly passed to the output.

◆ SetPatientMatrix()

void vtkDICOMToRAS::SetPatientMatrix ( vtkMatrix4x4 *  matrix)

Set a matrix that places the image in DICOM patient coords.

This matrix is constructed from the ImageOrientationPatient and ImagePositionPatient meta data attributes. See the SetMemoryRowOrder method for additional information.

◆ SetRASMatrixHasPosition()

void vtkDICOMToRAS::SetRASMatrixHasPosition ( int  v)

Set whether the RAS matrix should have a non-zero final column.

By default, the RAS matrix produced by this filter will have a position coordinate in its final column (NIfTI style). Alternatively, this filter can set the final column to zero and use the position to compute a new Origin for the output image. If this option is On, then the Origin of the output image will be (0,0,0), and if it is Off, then the final column of the matrix will be (0,0,0).

◆ ThreadedRequestData()

void vtkDICOMToRAS::ThreadedRequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector,
vtkImageData ***  inData,
vtkImageData **  outData,
int  extent[6],
int  threadId 
)
protectedvirtual

If the subclass does not define an Execute method, then the task will be broken up, multiple threads will be spawned, and each thread will call this method. It is public so that the thread functions can call this method.

Reimplemented from vtkThreadedImageAlgorithm.

◆ UpdateMatrix()

void vtkDICOMToRAS::UpdateMatrix ( )

Update the matrix without updating the output data.

This requires that an input has been set, because the origin, spacing, and extent of the input data must be known in order to compute the matrix.


The documentation for this class was generated from the following file: