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

Read DICOM image files. More...

#include <vtkDICOMReader.h>

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

Public Types

enum  RowOrder { FileNative , TopDown , BottomUp }
 Enumeration for top-down vs. bottom-up ordering.
 
typedef vtkImageReader2 Superclass
 
- Public Types inherited from vtkImageReader2
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)
 
vtkDICOMReaderNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_DICOM_OVERRIDE
 Print information about this object.
 
const char * GetFileExtensions () VTK_DICOM_OVERRIDE
 Valid extensions for this file type.
 
const char * GetDescriptiveName () VTK_DICOM_OVERRIDE
 Return a descriptive name that might be useful in a GUI.
 
int CanReadFile (const char *filename) VTK_DICOM_OVERRIDE
 Return true if this reader can read the given file.
 
void SetDesiredStackID (const char *stackId)
 Set the Stack ID of the stack to load, for named stacks. More...
 
const char * GetDesiredStackID ()
 
vtkStringArray * GetStackIDs ()
 Get a list of the stacks that are present in the input files. More...
 
vtkIntArray * GetFileIndexArray ()
 Get an array that converts slice index to input file index. More...
 
vtkIntArray * GetFrameIndexArray ()
 Get an array that converts slice index to frame index. More...
 
vtkDICOMMetaDataGetMetaData ()
 Get the meta data for the DICOM files. More...
 
void SetDefaultCharacterSet (vtkDICOMCharacterSet cs)
 Set the character set to use if SpecificCharacterSet is missing. More...
 
vtkDICOMCharacterSet GetDefaultCharacterSet ()
 
virtual void SetOverrideCharacterSet (bool)
 Override the value stored in SpecificCharacterSet. More...
 
virtual void OverrideCharacterSetOn ()
 
virtual void OverrideCharacterSetOff ()
 
bool GetOverrideCharacterSet ()
 
virtual int GetSorting ()
 If the files have been pre-sorted, the sorting can be disabled.
 
virtual void SetSorting (int)
 
virtual void SortingOn ()
 
virtual void SortingOff ()
 
void SetSorter (vtkDICOMSliceSorter *sorter)
 Set a custom sorter to be used to sort files and frames into slices. More...
 
vtkDICOMSliceSorterGetSorter ()
 
virtual int GetTimeAsVector ()
 Read the time dimension as scalar components (default: Off). More...
 
virtual void SetTimeAsVector (int)
 
virtual void TimeAsVectorOn ()
 
virtual void TimeAsVectorOff ()
 
int GetTimeDimension ()
 Get the time dimension if the DICOM series has one.
 
double GetTimeSpacing ()
 
virtual void SetDesiredTimeIndex (int)
 Set the desired time index (set to -1 for all).
 
virtual int GetDesiredTimeIndex ()
 
virtual int GetAutoYBRToRGB ()
 Turn off automatic conversion of YBR images to RGB. More...
 
virtual void SetAutoYBRToRGB (int)
 
virtual void AutoYBRToRGBOn ()
 
virtual void AutoYBRToRGBOff ()
 
virtual int GetAutoRescale ()
 Turn off automatic rescaling of stored pixel values. More...
 
virtual void SetAutoRescale (int)
 
virtual void AutoRescaleOn ()
 
virtual void AutoRescaleOff ()
 
double GetRescaleSlope ()
 Get the slope and intercept for rescaling the scalar values. More...
 
double GetRescaleIntercept ()
 
vtkMatrix4x4 * GetPatientMatrix ()
 Get a matrix to place the image within DICOM patient coords. More...
 
vtkImageData * GetOverlayOutput ()
 Get the overlay. More...
 
vtkAlgorithmOutput * GetOverlayOutputPort ()
 
void SetOverlayOutput (vtkImageData *data)
 
bool HasOverlay ()
 Returns true if any overlays are present.
 
unsigned short GetOverlayBitfield ()
 Returns a bitfield that indicates which overlays are present.
 
vtkMedicalImageProperties * GetMedicalImageProperties ()
 Get a MedicalImageProperties object for this file.
 
void SetMemoryRowOrder (int order)
 Set the ordering of the image rows in memory. More...
 
void SetMemoryRowOrderToFileNative ()
 
void SetMemoryRowOrderToTopDown ()
 
void SetMemoryRowOrderToBottomUp ()
 
int GetMemoryRowOrder ()
 
const char * GetMemoryRowOrderAsString ()
 
virtual void SetOutputScalarType (int)
 Set the scalar type of the output. More...
 
virtual int GetOutputScalarType ()
 
void Update () VTK_DICOM_OVERRIDE
 Update both the image and, if present, the overlay.
 
- Public Member Functions inherited from vtkImageReader2
vtkImageReader2NewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
virtual void SetFileName (const char *)
 
virtual char * GetFileName ()
 
virtual void SetFileNames (vtkStringArray *)
 
virtual vtkStringArray * GetFileNames ()
 
virtual void SetFilePrefix (const char *)
 
virtual char * GetFilePrefix ()
 
virtual void SetFilePattern (const char *)
 
virtual char * GetFilePattern ()
 
virtual void SetMemoryBuffer (void *)
 
virtual void * GetMemoryBuffer ()
 
virtual void SetMemoryBufferLength (vtkIdType buflen)
 
vtkIdType GetMemoryBufferLength ()
 
virtual void SetDataScalarType (int type)
 
virtual void SetDataScalarTypeToFloat ()
 
virtual void SetDataScalarTypeToDouble ()
 
virtual void SetDataScalarTypeToInt ()
 
virtual void SetDataScalarTypeToUnsignedInt ()
 
virtual void SetDataScalarTypeToShort ()
 
virtual void SetDataScalarTypeToUnsignedShort ()
 
virtual void SetDataScalarTypeToChar ()
 
virtual void SetDataScalarTypeToSignedChar ()
 
virtual void SetDataScalarTypeToUnsignedChar ()
 
virtual int GetDataScalarType ()
 
virtual void SetNumberOfScalarComponents (int)
 
virtual int GetNumberOfScalarComponents ()
 
virtual void SetDataExtent (int, int, int, int, int, int)
 
virtual void SetDataExtent (int[6])
 
virtual int * GetDataExtent ()
 
virtual void GetDataExtent (int &, int &, int &, int &, int &, int &)
 
virtual void GetDataExtent (int[6])
 
virtual void SetFileDimensionality (int)
 
int GetFileDimensionality ()
 
virtual void SetDataSpacing (double, double, double)
 
virtual void SetDataSpacing (double[3])
 
virtual double * GetDataSpacing ()
 
virtual void GetDataSpacing (double &, double &, double &)
 
virtual void GetDataSpacing (double[3])
 
virtual void SetDataOrigin (double, double, double)
 
virtual void SetDataOrigin (double[3])
 
virtual double * GetDataOrigin ()
 
virtual void GetDataOrigin (double &, double &, double &)
 
virtual void GetDataOrigin (double[3])
 
unsigned long GetHeaderSize ()
 
unsigned long GetHeaderSize (unsigned long slice)
 
virtual void SetHeaderSize (unsigned long size)
 
virtual void SetDataByteOrderToBigEndian ()
 
virtual void SetDataByteOrderToLittleEndian ()
 
virtual int GetDataByteOrder ()
 
virtual void SetDataByteOrder (int)
 
virtual const char * GetDataByteOrderAsString ()
 
virtual void SetFileNameSliceOffset (int)
 
virtual int GetFileNameSliceOffset ()
 
virtual void SetFileNameSliceSpacing (int)
 
virtual int GetFileNameSliceSpacing ()
 
virtual void SetSwapBytes (int)
 
virtual int GetSwapBytes ()
 
virtual void SwapBytesOn ()
 
virtual void SwapBytesOff ()
 
ifstream * GetFile ()
 
virtual unsigned long * GetDataIncrements ()
 
virtual void GetDataIncrements (unsigned long data[4])
 
virtual int OpenFile ()
 
virtual void SeekFile (int i, int j, int k)
 
virtual void FileLowerLeftOn ()
 
virtual void FileLowerLeftOff ()
 
virtual int GetFileLowerLeft ()
 
virtual void SetFileLowerLeft (int)
 
virtual void ComputeInternalFileName (int slice)
 
virtual char * GetInternalFileName ()
 
virtual int CanReadFile (const char *vtkNotUsed(fname))
 
- 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 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 ()
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
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 vtkTypeBool IsTypeOf (const char *type)
 
static vtkDICOMReaderSafeDownCast (vtkObjectBase *o)
 
static vtkDICOMReaderNew ()
 Static method for construction.
 
- Static Public Member Functions inherited from vtkImageReader2
static vtkImageReader2New ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkImageReader2SafeDownCast (vtkObjectBase *o)
 
- 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
 
vtkTypeBool ProcessRequest (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 Entry point for all pipeline requests.
 
int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 Read the header information.
 
int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 Read the voxel data.
 
virtual bool ReadOverlays (vtkImageData *data)
 Read the overlays into an allocated vtkImageData object.
 
void UnpackOverlay (const void *filePtr, vtkIdType bitskip, vtkIdType count, void *buffer, vtkIdType incr, int bit)
 Unpack overlay bits to build the overlay image.
 
virtual bool ReadOneFile (const char *filename, int idx, unsigned char *buffer, vtkIdType bufferSize)
 Read one file. Specify the offset to the PixelData.
 
void MaskBits (void *buffer, vtkIdType bufferSize, int scalarSize, int bitsStored, int pixelRepresentation)
 Clear or sign-extend any bits beyond BitsStored.
 
void UnpackBits (const void *source, void *buffer, vtkIdType bufferSize, int bits)
 Unpack 1 bit to 8 bits or 12 bits to 16 bits.
 
void UnpackYBR422 (const void *source, void *buffer, vtkIdType bufferSize, vtkIdType rowlen)
 Unpack 4:2:2 color data.
 
virtual bool ReadFileNative (const char *filename, int idx, unsigned char *buffer, vtkIdType bufferSize)
 Read an DICOM file directly.
 
virtual bool ReadFileDelegated (const char *filename, int idx, unsigned char *buffer, vtkIdType bufferSize)
 Read a DICOM file via DCMTK or GDCM.
 
virtual int ComputeRescaledScalarType (int scalarType, int bitsStored, int pixelRepresentation)
 Check if rescaling will change scalar type.
 
virtual void RescaleBuffer (int fileIdx, int frameIdx, int fileType, int outputType, int numFileComponents, int numComponents, void *fileBuffer, void *outputBuffer, vtkIdType bufferSize)
 Rescale the data in the buffer.
 
virtual void YBRToRGB (int fileIdx, int frameIdx, void *buffer, vtkIdType bufferSize)
 Convert buffer from YUV to RGB.
 
void RelayError (vtkObject *o, unsigned long e, void *data)
 Convert parser errors into reader errors.
 
virtual bool ValidateStructure (vtkIntArray *fileArray, vtkIntArray *frameArray)
 Verify that the files can be composed into a volume. More...
 
virtual void SortFiles (vtkIntArray *fileArray, vtkIntArray *frameArray)
 Sort the input files, put the sort in the supplied arrays.
 
void NoSortFiles (vtkIntArray *fileArray, vtkIntArray *frameArray)
 Do not sort the files, just build the arrays.
 
virtual void UpdateMedicalImageProperties ()
 Update the medical image properties;.
 
- Protected Member Functions inherited from vtkImageReader2
virtual void ExecuteInformation ()
 
virtual void ExecuteDataWithInformation (vtkDataObject *data, vtkInformation *outInfo)
 
virtual void ComputeDataIncrements ()
 
- Protected Member Functions inherited from vtkImageAlgorithm
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
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

int Sorting
 Select whether to sort the files.
 
double RescaleIntercept
 Information for rescaling data to quantitative units.
 
double RescaleSlope
 
vtkMatrix4x4 * PatientMatrix
 The orientation matrix for the DICOM file.
 
vtkDICOMMetaDataMetaData
 The meta data for the image.
 
vtkMedicalImageProperties * MedicalImageProperties
 The MedicalImageProperties, for compatibility with other readers.
 
vtkDICOMCharacterSet DefaultCharacterSet
 The default character set to use while parsing the file.
 
bool OverrideCharacterSet
 Whether the default should override SpecificCharacterSet.
 
vtkDICOMParserParser
 The parser that is used to read the file.
 
vtkDICOMSliceSorterSorter
 The sorter that orders the slices within the volume.
 
vtkTypeInt64Array * FileOffsetArray
 The offsets to the pixel data in each file.
 
vtkIntArray * FileIndexArray
 An array to convert slice indices to input files.
 
vtkIntArray * FrameIndexArray
 An array to convert slice indices to input frames.
 
vtkStringArray * StackIDs
 An array that holds the stack IDs.
 
int MemoryRowOrder
 The row order to use when storing the data in memory.
 
int NeedsRescale
 This indicates that the data must be rescaled.
 
int AutoRescale
 
int FileScalarType
 
int OutputScalarType
 
int NeedsYBRToRGB
 This indicates that the data must be converted to RGB.
 
int AutoYBRToRGB
 
int NumberOfPackedComponents
 The number of packed pixel components in the input file. More...
 
int NumberOfPlanarComponents
 The number of color planes in the file.
 
int TimeAsVector
 Time dimension variables.
 
int TimeDimension
 
int DesiredTimeIndex
 
double TimeSpacing
 
char DesiredStackID [20]
 The stack to load.
 
unsigned short OverlayBitfield
 Bitfield that says what overlays are present.
 
bool UpdateOverlayFlag
 
- Protected Attributes inherited from vtkImageReader2
vtkStringArray * FileNames
 
char * InternalFileName
 
char * FileName
 
char * FilePrefix
 
char * FilePattern
 
int NumberOfScalarComponents
 
int FileLowerLeft
 
void * MemoryBuffer
 
vtkIdType MemoryBufferLength
 
ifstream * File
 
unsigned long DataIncrements [4]
 
int DataExtent [6]
 
int SwapBytes
 
int FileDimensionality
 
unsigned long HeaderSize
 
int DataScalarType
 
unsigned long ManualHeaderSize
 
double DataSpacing [3]
 
double DataOrigin [3]
 
int FileNameSliceOffset
 
int FileNameSliceSpacing
 
- 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
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED ()
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutive * DefaultExecutivePrototype
 

Detailed Description

Read DICOM image files.

This class reads a series of DICOM files into a vtkImageData object, and also provides access to the DICOM meta data for each file.

Member Function Documentation

◆ GetAutoRescale()

virtual int vtkDICOMReader::GetAutoRescale ( )
virtual

Turn off automatic rescaling of stored pixel values.

By default, if the RescaleSlope and RescaleIntercept attributes are present in the DICOM data set, they will be used to rescale stored pixel values according to the DICOM modality LUT operation. The resulting values will be stored as 16-bit integers if possible, but single-precision floats will be used if the potential output range is greater than can be stored in 16 bits, or if either the RescaleSlope or the RescaleIntercept is not an integer. If AutoRescale is off, then the data is not rescaled.

◆ GetAutoYBRToRGB()

virtual int vtkDICOMReader::GetAutoYBRToRGB ( )
virtual

Turn off automatic conversion of YBR images to RGB.

By default, YBR images are always converted to RGB (though the photometric interpretation in the metadata will remain the same).

◆ GetFileIndexArray()

vtkIntArray* vtkDICOMReader::GetFileIndexArray ( )
inline

Get an array that converts slice index to input file index.

If the reader has generated scalar components, then this will be a two-dimensional array and calling array->GetComponent(i,j) will return the file index for slice i and scalar component j for monochrome images, or for slice i and scalar component 3*j for RGB images (or more precisely, at scalar component N*j where N is the SamplesPerPixel value from the DICOM metadata). If the data has just one component, then use j=0. If you used SetFileNames() to provide a list of files to the reader, then use this array to find out which file provided which slice, or to index into the MetaData object to get the metadata for a particular slice.

◆ GetFrameIndexArray()

vtkIntArray* vtkDICOMReader::GetFrameIndexArray ( )
inline

Get an array that converts slice index to frame index.

The purpose of this array is to identify individual frames in multi-frame DICOM files. The dimensions of this array are identical to the FileIndexArray. Use FileIndexArray to identify the file, then use FrameIndexArray to identify the frame within that file.

◆ GetMetaData()

vtkDICOMMetaData* vtkDICOMReader::GetMetaData ( )
inline

Get the meta data for the DICOM files.

The Get() method of vtkDICOMMataData takes optional file and frame indices, which specify the file and the frame within that file to get the attribute from. If you have a slice index rather than a file index and frame index, then use the FileIndexArray and FrameIndexArray to convert the slice index into file and frame indices.

◆ GetOverlayOutput()

vtkImageData* vtkDICOMReader::GetOverlayOutput ( )

Get the overlay.

The extent of the overlay will be the same as the main image. For multiple overlays, each overlay will be stored in a different bit. An 8-bit image will be used if there are eight or fewer overlays, and an unsigned 16-bit image will be used if there are more than eight overlays.

◆ GetPatientMatrix()

vtkMatrix4x4* vtkDICOMReader::GetPatientMatrix ( )
inline

Get a matrix to place the image within DICOM patient coords.

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

◆ GetRescaleSlope()

double vtkDICOMReader::GetRescaleSlope ( )
inline

Get the slope and intercept for rescaling the scalar values.

If AutoRescale in On (which is the default), then GetRescaleSlope() will return 1 and GetRescaleIntercept() will return zero. Otherwise, they will return the RescaleSlope and RescaleIntercept for the data set. Use the equation v = u*RescaleSlope + RescaleIntercept.

Note that the returned values might not be valid if these attributes are not the same for all slices in the series. Use the meta data to retrieve the per-slice slope and intercept.

◆ GetStackIDs()

vtkStringArray* vtkDICOMReader::GetStackIDs ( )
inline

Get a list of the stacks that are present in the input files.

A stack is a contiguous array of slices that form a volume.

◆ GetTimeAsVector()

virtual int vtkDICOMReader::GetTimeAsVector ( )
virtual

Read the time dimension as scalar components (default: Off).

If this is on, then each time point will be stored as a scalar component in the image data. If the data has both a time dimension and a vector dimension, then the number of components will be the product of these two dimensions, i.e. the components will store a sequence of vectors, one vector for each time point.

◆ IsA()

virtual vtkTypeBool vtkDICOMReader::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 vtkImageReader2.

◆ SetDefaultCharacterSet()

void vtkDICOMReader::SetDefaultCharacterSet ( vtkDICOMCharacterSet  cs)

Set the character set to use if SpecificCharacterSet is missing.

Some DICOM files do not list a SpecificCharacterSet attribute, but nevertheless use a non-ASCII character encoding. This method can be used to specify the character set in absence of SpecificCharacterSet. This method will not take effect unless is is called before the image is read. If SpecificCharacterSet is present, the default will not override it unless OverrideCharacterSet is true.

◆ SetDesiredStackID()

void vtkDICOMReader::SetDesiredStackID ( const char *  stackId)

Set the Stack ID of the stack to load, for named stacks.

If the series has multiple stacks, then by default the reader will only load the first stack. This method allows you to select a different stack, if you know the DICOM StackID for the stack.

◆ SetMemoryRowOrder()

void vtkDICOMReader::SetMemoryRowOrder ( int  order)

Set the ordering of the image rows in memory.

If the order is BottomUp (which is the default) then the images will be flipped when they are read from disk. The native orientation of DICOM images is top-to-bottom.

◆ SetOutputScalarType()

virtual void vtkDICOMReader::SetOutputScalarType ( int  )
virtual

Set the scalar type of the output.

The default value is -1, which means that the input scalar type will be used to set the output scalar type (accounting for any type changes required by AutoRescale). Allowed output scalar types are VTK_SIGNED_CHAR, VTK_UNSIGNED_CHAR, VTK_SHORT, VTK_UNSIGNED_SHORT, VTK_INT, VTK_UNSIGNED_INT, VTK_FLOAT, or VTK_DOUBLE. The output data values will be clamped to the limits of the output type.

◆ SetOverrideCharacterSet()

virtual void vtkDICOMReader::SetOverrideCharacterSet ( bool  )
virtual

Override the value stored in SpecificCharacterSet.

This method can be used if the SpecificCharacterSet attribute of a file is incorrect. It overrides the SpecificCharacterSet with the DefaultCharacterSet.

◆ SetSorter()

void vtkDICOMReader::SetSorter ( vtkDICOMSliceSorter sorter)

Set a custom sorter to be used to sort files and frames into slices.

The default sorter uses the attributes "ImagePositionPatient" and "ImageOrientationPatient" to spatially arrange the slices.

◆ ValidateStructure()

virtual bool vtkDICOMReader::ValidateStructure ( vtkIntArray *  fileArray,
vtkIntArray *  frameArray 
)
protectedvirtual

Verify that the files can be composed into a volume.

This is called after SortFiles has been called. It should invoke an error event and return zero upon failure.

Member Data Documentation

◆ NumberOfPackedComponents

int vtkDICOMReader::NumberOfPackedComponents
protected

The number of packed pixel components in the input file.

This is for packed, rather than planar, components.


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