VTK
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkDICOMImageReader Class Reference

Reads some DICOM images. More...

#include <vtkDICOMImageReader.h>

Inheritance diagram for vtkDICOMImageReader:
[legend]
Collaboration diagram for vtkDICOMImageReader:
[legend]

Public Member Functions

void PrintSelf (ostream &os, vtkIndent indent) override
 Prints the ivars. More...
 
void SetDirectoryName (const char *dn)
 Set the directory name for the reader to look in for DICOM files. More...
 
doubleGetPixelSpacing ()
 Returns the pixel spacing (in X, Y, Z). More...
 
int GetWidth ()
 Returns the image width. More...
 
int GetHeight ()
 Returns the image height. More...
 
floatGetImagePositionPatient ()
 Get the (DICOM) x,y,z coordinates of the first pixel in the image (upper left hand corner) of the last image processed by the DICOMParser. More...
 
floatGetImageOrientationPatient ()
 Get the (DICOM) directions cosines. More...
 
int GetBitsAllocated ()
 Get the number of bits allocated for each pixel in the file. More...
 
int GetPixelRepresentation ()
 Get the pixel representation of the last image processed by the DICOMParser. More...
 
int GetNumberOfComponents ()
 Get the number of components of the image data for the last image processed. More...
 
const char * GetTransferSyntaxUID ()
 Get the transfer syntax UID for the last image processed. More...
 
float GetRescaleSlope ()
 Get the rescale slope for the pixel data. More...
 
float GetRescaleOffset ()
 Get the rescale offset for the pixel data. More...
 
const char * GetPatientName ()
 Get the patient name for the last image processed. More...
 
const char * GetStudyUID ()
 Get the study uid for the last image processed. More...
 
const char * GetStudyID ()
 Get the Study ID for the last image processed. More...
 
float GetGantryAngle ()
 Get the gantry angle for the last image processed. More...
 
int CanReadFile (const char *fname) override
 
const char * GetFileExtensions () override
 Get the file extensions for this format. More...
 
const char * GetDescriptiveName () override
 Return a descriptive name for the file format that might be useful in a GUI. More...
 
void SetFileName (const char *fn) override
 Set the filename for the file to read. More...
 
virtual char * GetDirectoryName ()
 Returns the directory name. More...
 
- Public Member Functions inherited from vtkImageReader2
vtkImageReader2NewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void SetMemoryBuffer (void *)
 Specify the in memory image buffer. More...
 
virtual void * GetMemoryBuffer ()
 
virtual void SetMemoryBufferLength (vtkIdType buflen)
 Specify the in memory image buffer length. More...
 
vtkIdType GetMemoryBufferLength ()
 
virtual void SetDataScalarType (int type)
 Set the data type of pixels in the file. More...
 
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 void SetHeaderSize (unsigned long size)
 If there is a tail on the file, you want to explicitly set the header size. More...
 
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 int CanReadFile (const char *vtkNotUsed(fname))
 Return non zero if the reader can read the given file name. More...
 
virtual char * GetFileName ()
 Specify file name for the image file. More...
 
virtual void SetFileNames (vtkStringArray *)
 Specify a list of file names. More...
 
virtual vtkStringArrayGetFileNames ()
 Specify a list of file names. More...
 
virtual void SetFilePrefix (const char *)
 Specify file prefix for the image file or files. More...
 
virtual char * GetFilePrefix ()
 Specify file prefix for the image file or files. More...
 
virtual void SetFilePattern (const char *)
 The snprintf-style format string used to build filename from FilePrefix and slice number. More...
 
virtual char * GetFilePattern ()
 The snprintf-style format string used to build filename from FilePrefix and slice number. More...
 
virtual int GetDataScalarType ()
 Get the file format. More...
 
virtual void SetNumberOfScalarComponents (int)
 Set/Get the number of scalar components. More...
 
virtual int GetNumberOfScalarComponents ()
 Set/Get the number of scalar components. More...
 
virtual void SetDataExtent (int, int, int, int, int, int)
 Get/Set the extent of the data on disk. More...
 
virtual void SetDataExtent (int[6])
 Get/Set the extent of the data on disk. More...
 
virtual intGetDataExtent ()
 Get/Set the extent of the data on disk. More...
 
virtual void GetDataExtent (int &, int &, int &, int &, int &, int &)
 Get/Set the extent of the data on disk. More...
 
virtual void GetDataExtent (int[6])
 Get/Set the extent of the data on disk. More...
 
virtual void SetFileDimensionality (int)
 The number of dimensions stored in a file. More...
 
int GetFileDimensionality ()
 The number of dimensions stored in a file. More...
 
virtual void SetDataSpacing (double, double, double)
 Set/Get the spacing of the data in the file. More...
 
virtual void SetDataSpacing (double[3])
 Set/Get the spacing of the data in the file. More...
 
virtual doubleGetDataSpacing ()
 Set/Get the spacing of the data in the file. More...
 
virtual void GetDataSpacing (double &, double &, double &)
 Set/Get the spacing of the data in the file. More...
 
virtual void GetDataSpacing (double[3])
 Set/Get the spacing of the data in the file. More...
 
virtual void SetDataOrigin (double, double, double)
 Set/Get the origin of the data (location of first pixel in the file). More...
 
virtual void SetDataOrigin (double[3])
 Set/Get the origin of the data (location of first pixel in the file). More...
 
virtual doubleGetDataOrigin ()
 Set/Get the origin of the data (location of first pixel in the file). More...
 
virtual void GetDataOrigin (double &, double &, double &)
 Set/Get the origin of the data (location of first pixel in the file). More...
 
virtual void GetDataOrigin (double[3])
 Set/Get the origin of the data (location of first pixel in the file). More...
 
unsigned long GetHeaderSize ()
 Get the size of the header computed by this object. More...
 
unsigned long GetHeaderSize (unsigned long slice)
 Get the size of the header computed by this object. More...
 
virtual void SetDataByteOrderToBigEndian ()
 These methods should be used instead of the SwapBytes methods. More...
 
virtual void SetDataByteOrderToLittleEndian ()
 These methods should be used instead of the SwapBytes methods. More...
 
virtual int GetDataByteOrder ()
 These methods should be used instead of the SwapBytes methods. More...
 
virtual void SetDataByteOrder (int)
 These methods should be used instead of the SwapBytes methods. More...
 
virtual const char * GetDataByteOrderAsString ()
 These methods should be used instead of the SwapBytes methods. More...
 
virtual void SetFileNameSliceOffset (int)
 When reading files which start at an unusual index, this can be added to the slice number when generating the file name (default = 0) More...
 
virtual int GetFileNameSliceOffset ()
 When reading files which start at an unusual index, this can be added to the slice number when generating the file name (default = 0) More...
 
virtual void SetFileNameSliceSpacing (int)
 When reading files which have regular, but non contiguous slices (eg filename.1,filename.3,filename.5) a spacing can be specified to skip missing files (default = 1) More...
 
virtual int GetFileNameSliceSpacing ()
 When reading files which have regular, but non contiguous slices (eg filename.1,filename.3,filename.5) a spacing can be specified to skip missing files (default = 1) More...
 
virtual void SetSwapBytes (vtkTypeBool)
 Set/Get the byte swapping to explicitly swap the bytes of a file. More...
 
virtual vtkTypeBool GetSwapBytes ()
 Set/Get the byte swapping to explicitly swap the bytes of a file. More...
 
virtual void SwapBytesOn ()
 Set/Get the byte swapping to explicitly swap the bytes of a file. More...
 
virtual void SwapBytesOff ()
 Set/Get the byte swapping to explicitly swap the bytes of a file. More...
 
virtual void FileLowerLeftOn ()
 Set/Get whether the data comes from the file starting in the lower left corner or upper left corner. More...
 
virtual void FileLowerLeftOff ()
 Set/Get whether the data comes from the file starting in the lower left corner or upper left corner. More...
 
virtual vtkTypeBool GetFileLowerLeft ()
 Set/Get whether the data comes from the file starting in the lower left corner or upper left corner. More...
 
virtual void SetFileLowerLeft (vtkTypeBool)
 Set/Get whether the data comes from the file starting in the lower left corner or upper left corner. More...
 
virtual void ComputeInternalFileName (int slice)
 Set/Get the internal file name. More...
 
virtual char * GetInternalFileName ()
 Set/Get the internal file name. More...
 
- Public Member Functions inherited from vtkImageAlgorithm
vtkImageAlgorithmNewInstance () const
 
int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
 Process a request from the executive. More...
 
vtkImageDataGetOutput ()
 Get the output data object for a port on this algorithm. More...
 
vtkImageDataGetOutput (int)
 Get the output data object for a port on this algorithm. More...
 
virtual void SetOutput (vtkDataObject *d)
 Get the output data object for a port on this algorithm. More...
 
void SetInputData (vtkDataObject *)
 Assign a data object as input. More...
 
void SetInputData (int, vtkDataObject *)
 Assign a data object as input. More...
 
vtkDataObjectGetInput (int port)
 Get a data object for one of the input port connections. More...
 
vtkDataObjectGetInput ()
 Get a data object for one of the input port connections. More...
 
vtkImageDataGetImageDataInput (int port)
 Get a data object for one of the input port connections. More...
 
virtual void AddInputData (vtkDataObject *)
 Assign a data object as input. More...
 
virtual void AddInputData (int, vtkDataObject *)
 Assign a data object as input. More...
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 Check whether this algorithm has an assigned executive. More...
 
vtkExecutiveGetExecutive ()
 Get this algorithm's executive. More...
 
virtual void SetExecutive (vtkExecutive *executive)
 Set this algorithm's executive. More...
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 Version of ProcessRequest() that is wrapped. More...
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
 A special version of ProcessRequest meant specifically for the pipeline modified time request. More...
 
virtual int ModifyRequest (vtkInformation *request, int when)
 This method gives the algorithm a chance to modify the contents of a request before or after (specified in the when argument) it is forwarded. More...
 
vtkInformationGetInputPortInformation (int port)
 Get the information object associated with an input port. More...
 
vtkInformationGetOutputPortInformation (int port)
 Get the information object associated with an output port. More...
 
int GetNumberOfInputPorts ()
 Get the number of input ports used by the algorithm. More...
 
int GetNumberOfOutputPorts ()
 Get the number of output ports provided by the algorithm. More...
 
void UpdateProgress (double amount)
 Update the progress of the process object. More...
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
 String based versions of SetInputArrayToProcess(). More...
 
vtkInformationGetInputArrayInformation (int idx)
 Get the info object for the specified input array to this algorithm. More...
 
void RemoveAllInputs ()
 Remove all the input data. More...
 
vtkDataObjectGetOutputDataObject (int port)
 Get the data object that will contain the algorithm output for the given port. More...
 
vtkDataObjectGetInputDataObject (int port, int connection)
 Get the data object that will contain the algorithm input for the given port and given connection. More...
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 Remove a connection from the given input port index. More...
 
virtual void RemoveInputConnection (int port, int idx)
 Remove a connection given by index idx. More...
 
virtual void RemoveAllInputConnections (int port)
 Removes all input connections. More...
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 Sets the data-object as an input on the given port index. More...
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 Add the data-object as an input to this given port. More...
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutputGetOutputPort (int index)
 Get a proxy object corresponding to the given output port of this algorithm. More...
 
vtkAlgorithmOutputGetOutputPort ()
 
int GetNumberOfInputConnections (int port)
 Get the number of inputs currently connected to a port. More...
 
int GetTotalNumberOfInputConnections ()
 Get the total number of inputs for this algorithm. More...
 
vtkAlgorithmOutputGetInputConnection (int port, int index)
 Get the algorithm output port connected to an input port. More...
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 Returns the algorithm and the output port index of that algorithm connected to a port-index pair. More...
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 Returns the algorithm connected to a port-index pair. More...
 
vtkAlgorithmGetInputAlgorithm ()
 Equivalent to GetInputAlgorithm(0, 0). More...
 
vtkExecutiveGetInputExecutive (int port, int index)
 Returns the executive associated with a particular input connection. More...
 
vtkExecutiveGetInputExecutive ()
 Equivalent to GetInputExecutive(0, 0) More...
 
vtkInformationGetInputInformation (int port, int index)
 Return the information object that is associated with a particular input connection. More...
 
vtkInformationGetInputInformation ()
 Equivalent to GetInputInformation(0, 0) More...
 
vtkInformationGetOutputInformation (int port)
 Return the information object that is associated with a particular output port. More...
 
virtual int Update (int port, vtkInformationVector *requests)
 This method enables the passing of data requests to the algorithm to be used during execution (in addition to bringing a particular port up-to-date). More...
 
virtual int Update (vtkInformation *requests)
 Convenience method to update an algorithm after passing requests to its first output port. More...
 
virtual int UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=nullptr)
 Convenience method to update an algorithm after passing requests to its first output port. More...
 
virtual int UpdateExtent (const int extents[6])
 Convenience method to update an algorithm after passing requests to its first output port. More...
 
virtual int UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=nullptr)
 Convenience method to update an algorithm after passing requests to its first output port. More...
 
virtual void UpdateInformation ()
 Bring the algorithm's information up-to-date. More...
 
virtual void UpdateDataObject ()
 Create output object(s). More...
 
virtual void PropagateUpdateExtent ()
 Propagate meta-data upstream. More...
 
virtual void UpdateWholeExtent ()
 Bring this algorithm's outputs up-to-date. More...
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 Convenience routine to convert from a linear ordering of input connections to a port/connection pair. More...
 
virtual vtkInformationGetInformation ()
 Set/Get the information object associated with this algorithm. More...
 
virtual void SetInformation (vtkInformation *)
 Set/Get the information object associated with this algorithm. More...
 
void Register (vtkObjectBase *o) override
 Participate in garbage collection. More...
 
void UnRegister (vtkObjectBase *o) override
 Participate in garbage collection. More...
 
virtual void SetAbortExecute (vtkTypeBool)
 Set/Get the AbortExecute flag for the process object. More...
 
virtual vtkTypeBool GetAbortExecute ()
 Set/Get the AbortExecute flag for the process object. More...
 
virtual void AbortExecuteOn ()
 Set/Get the AbortExecute flag for the process object. More...
 
virtual void AbortExecuteOff ()
 Set/Get the AbortExecute flag for the process object. More...
 
virtual void SetProgress (double)
 Set/Get the execution progress of a process object. More...
 
virtual double GetProgress ()
 Set/Get the execution progress of a process object. More...
 
void SetProgressText (const char *ptext)
 Set the current text message associated with the progress state. More...
 
virtual char * GetProgressText ()
 Set the current text message associated with the progress state. More...
 
virtual unsigned long GetErrorCode ()
 The error code contains a possible error that occurred while reading or writing the file. More...
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
 Set the input data arrays that this algorithm will process. More...
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 Set the input data arrays that this algorithm will process. More...
 
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
 Set the input data arrays that this algorithm will process. More...
 
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
 Set the connection for the given input port index. More...
 
virtual void SetInputConnection (vtkAlgorithmOutput *input)
 Set the connection for the given input port index. More...
 
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
 Add a connection to the given input port index. More...
 
virtual void AddInputConnection (vtkAlgorithmOutput *input)
 Add a connection to the given input port index. More...
 
virtual void Update (int port)
 Bring this algorithm's outputs up-to-date. More...
 
virtual void Update ()
 Bring this algorithm's outputs up-to-date. More...
 
virtual void SetReleaseDataFlag (int)
 Turn release data flag on or off for all output ports. More...
 
virtual int GetReleaseDataFlag ()
 Turn release data flag on or off for all output ports. More...
 
void ReleaseDataFlagOn ()
 Turn release data flag on or off for all output ports. More...
 
void ReleaseDataFlagOff ()
 Turn release data flag on or off for all output ports. More...
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0. More...
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 This detects when the UpdateExtent will generate no data This condition is satisfied when the UpdateExtent has zero volume (0,-1,...) or the UpdateNumberOfPieces is 0. More...
 
intGetUpdateExtent ()
 These functions return the update extent for output ports that use 3D extents. More...
 
intGetUpdateExtent (int port)
 These functions return the update extent for output ports that use 3D extents. More...
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 These functions return the update extent for output ports that use 3D extents. More...
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 These functions return the update extent for output ports that use 3D extents. More...
 
void GetUpdateExtent (int extent[6])
 These functions return the update extent for output ports that use 3D extents. More...
 
void GetUpdateExtent (int port, int extent[6])
 These functions return the update extent for output ports that use 3D extents. More...
 
int GetUpdatePiece ()
 These functions return the update extent for output ports that use piece extents. More...
 
int GetUpdatePiece (int port)
 These functions return the update extent for output ports that use piece extents. More...
 
int GetUpdateNumberOfPieces ()
 These functions return the update extent for output ports that use piece extents. More...
 
int GetUpdateNumberOfPieces (int port)
 These functions return the update extent for output ports that use piece extents. More...
 
int GetUpdateGhostLevel ()
 These functions return the update extent for output ports that use piece extents. More...
 
int GetUpdateGhostLevel (int port)
 These functions return the update extent for output ports that use piece extents. More...
 
void SetProgressObserver (vtkProgressObserver *)
 If an ProgressObserver is set, the algorithm will report progress through it rather than directly. More...
 
virtual vtkProgressObserverGetProgressObserver ()
 If an ProgressObserver is set, the algorithm will report progress through it rather than directly. More...
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Protected Member Functions

void SetupOutputInformation (int num_slices)
 
void ExecuteInformation () override
 
void ExecuteDataWithInformation (vtkDataObject *out, vtkInformation *outInfo) override
 This is a convenience method that is implemented in many subclasses instead of RequestData. More...
 
 vtkDICOMImageReader ()
 
 ~vtkDICOMImageReader () override
 
int GetNumberOfDICOMFileNames ()
 
const char * GetDICOMFileName (int index)
 
- Protected Member Functions inherited from vtkImageReader2
int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
 Subclasses can reimplement this method to collect information from their inputs and set information for their outputs. More...
 
void ExecuteDataWithInformation (vtkDataObject *data, vtkInformation *outInfo) override
 This is a convenience method that is implemented in many subclasses instead of RequestData. More...
 
virtual void ComputeDataIncrements ()
 
 vtkImageReader2 ()
 Return a descriptive name for the file format that might be useful in a GUI. More...
 
 ~vtkImageReader2 () override
 Return a descriptive name for the file format that might be useful in a GUI. More...
 
- Protected Member Functions inherited from vtkImageAlgorithm
 vtkImageAlgorithm ()
 
 ~vtkImageAlgorithm () override
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 Subclasses can reimplement this method to translate the update extent requests from each output port into update extent requests for the input connections. More...
 
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 Convenience method to copy the scalar type and number of components from the input data to the output data. More...
 
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 This is called in response to a REQUEST_DATA request from the executive. More...
 
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
 Copy the other point and cell data. More...
 
virtual void ExecuteData (vtkDataObject *output)
 This method is the old style execute method, provided for the sake of backwards compatibility with older filters and readers. More...
 
virtual void Execute ()
 This method is the old style execute method, provided for the sake of backwards compatibility with older filters and readers. More...
 
virtual void AllocateOutputData (vtkImageData *out, vtkInformation *outInfo, int *uExtent)
 Allocate the output data. More...
 
virtual vtkImageDataAllocateOutputData (vtkDataObject *out, vtkInformation *outInfo)
 Allocate the output data. More...
 
int FillOutputPortInformation (int port, vtkInformation *info) override
 These method should be reimplemented by subclasses that have more than a single input or single output. More...
 
int FillInputPortInformation (int port, vtkInformation *info) override
 These method should be reimplemented by subclasses that have more than a single input or single output. More...
 
- Protected Member Functions inherited from vtkAlgorithm
 vtkAlgorithm ()
 
 ~vtkAlgorithm () override
 
virtual void SetNumberOfInputPorts (int n)
 Set the number of input ports used by the algorithm. More...
 
virtual void SetNumberOfOutputPorts (int n)
 Set the number of output ports provided by the algorithm. More...
 
int InputPortIndexInRange (int index, const char *action)
 
int OutputPortIndexInRange (int index, const char *action)
 
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
 Get the assocition of the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. More...
 
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 This method takes in an index (as specified in SetInputArrayToProcess) and a pipeline information vector. More...
 
virtual vtkExecutiveCreateDefaultExecutive ()
 Create a default executive. More...
 
void ReportReferences (vtkGarbageCollector *) override
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 Replace the Nth connection on the given input port. More...
 
virtual void SetNumberOfInputConnections (int port, int n)
 Set the number of input connections on the given input port. More...
 
void SetInputDataInternal (int port, vtkDataObject *input)
 These methods are used by subclasses to implement methods to set data objects directly as input. More...
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 Filters that have multiple connections on one port can use this signature. More...
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. More...
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. More...
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. More...
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 Get the actual data array for the input array specified by idx, this is only reasonable during the REQUEST_DATA pass. More...
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 Filters that have multiple connections on one port can use this signature. More...
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 Filters that have multiple connections on one port can use this signature. More...
 
virtual void SetErrorCode (unsigned long)
 The error code contains a possible error that occurred while reading or writing the file. More...
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

DICOMParser * Parser
 
DICOMAppHelper * AppHelper
 
vtkDICOMImageReaderVector * DICOMFileNames
 
char * DirectoryName
 
char * PatientName
 
char * StudyUID
 
char * StudyID
 
char * TransferSyntaxUID
 
- Protected Attributes inherited from vtkImageReader2
vtkStringArrayFileNames
 
char * InternalFileName
 
char * FileName
 
char * FilePrefix
 
char * FilePattern
 
int NumberOfScalarComponents
 
vtkTypeBool FileLowerLeft
 
void * MemoryBuffer
 
vtkIdType MemoryBufferLength
 
ifstream * File
 
unsigned long DataIncrements [4]
 
int DataExtent [6]
 
vtkTypeBool 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
vtkInformationInformation
 
double Progress
 
char * ProgressText
 
vtkProgressObserverProgressObserver
 
unsigned long ErrorCode
 The error code contains a possible error that occurred while reading or writing the file. More...
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
typedef vtkImageReader2 Superclass
 Static method for construction. More...
 
static vtkDICOMImageReaderNew ()
 Static method for construction. More...
 
static vtkTypeBool IsTypeOf (const char *type)
 Static method for construction. More...
 
static vtkDICOMImageReaderSafeDownCast (vtkObjectBase *o)
 Static method for construction. More...
 
virtual vtkTypeBool IsA (const char *type)
 Static method for construction. More...
 
vtkDICOMImageReaderNewInstance () const
 Static method for construction. More...
 
virtual vtkObjectBaseNewInstanceInternal () const
 Static method for construction. More...
 

Additional Inherited Members

- 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 }
 Values used for setting the desired output precision for various algorithms. More...
 
typedef vtkObject Superclass
 
- 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 vtkInformationIntegerKeyINPUT_IS_OPTIONAL ()
 Keys used to specify input port requirements. More...
 
static vtkInformationIntegerKeyINPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKeyINPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKeyINPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKeyINPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKeyINPUT_PORT ()
 
static vtkInformationIntegerKeyINPUT_CONNECTION ()
 
static vtkInformationIntegerKeyCAN_PRODUCE_SUB_EXTENT ()
 This key tells the executive that a particular output port is capable of producing an arbitrary subextent of the whole extent. More...
 
static vtkInformationIntegerKeyCAN_HANDLE_PIECE_REQUEST ()
 Key that tells the pipeline that a particular algorithm can or cannot handle piece request. More...
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 If the DefaultExecutivePrototype is set, a copy of it is created in CreateDefaultExecutive() using NewInstance(). More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
- Public Attributes inherited from vtkAlgorithm
vtkTypeBool AbortExecute
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKeyPORT_REQUIREMENTS_FILLED ()
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutiveDefaultExecutivePrototype
 

Detailed Description

Reads some DICOM images.

DICOM (stands for Digital Imaging in COmmunications and Medicine) is a medical image file format widely used to exchange data, provided by various modalities.

Warning
This reader might eventually handle ACR-NEMA file (predecessor of the DICOM format for medical images). This reader does not handle encapsulated format, only plain raw file are handled. This reader also does not handle multi-frames DICOM datasets.
Internally DICOMParser assumes the x,y pixel spacing is stored in 0028,0030 and that z spacing is stored in Slice Thickness (correct only when slice were acquired contiguous): 0018,0050. Which means this is only valid for some rare MR Image Storage
See also
vtkBMPReader vtkPNMReader vtkTIFFReader
Examples:
vtkDICOMImageReader (Examples)
Tests:
vtkDICOMImageReader (Tests)

Definition at line 53 of file vtkDICOMImageReader.h.

Member Typedef Documentation

Static method for construction.

Definition at line 61 of file vtkDICOMImageReader.h.

Constructor & Destructor Documentation

vtkDICOMImageReader::vtkDICOMImageReader ( )
protected
vtkDICOMImageReader::~vtkDICOMImageReader ( )
overrideprotected

Member Function Documentation

static vtkDICOMImageReader* vtkDICOMImageReader::New ( )
static

Static method for construction.

static vtkTypeBool vtkDICOMImageReader::IsTypeOf ( const char *  type)
static

Static method for construction.

virtual vtkTypeBool vtkDICOMImageReader::IsA ( const char *  type)
virtual

Static method for construction.

Reimplemented from vtkImageReader2.

static vtkDICOMImageReader* vtkDICOMImageReader::SafeDownCast ( vtkObjectBase o)
static

Static method for construction.

virtual vtkObjectBase* vtkDICOMImageReader::NewInstanceInternal ( ) const
protectedvirtual

Static method for construction.

Reimplemented from vtkImageReader2.

vtkDICOMImageReader* vtkDICOMImageReader::NewInstance ( ) const

Static method for construction.

void vtkDICOMImageReader::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Prints the ivars.

Reimplemented from vtkImageAlgorithm.

void vtkDICOMImageReader::SetFileName ( const char *  fn)
inlineoverridevirtual

Set the filename for the file to read.

If this method is used, the reader will only read a single file.

Reimplemented from vtkImageReader2.

Definition at line 74 of file vtkDICOMImageReader.h.

void vtkDICOMImageReader::SetDirectoryName ( const char *  dn)

Set the directory name for the reader to look in for DICOM files.

If this method is used, the reader will try to find all the DICOM files in a directory. It will select the subset corresponding to the first series UID it stumbles across and it will try to build an ordered volume from them based on the slice number. The volume building will be upgraded to something more sophisticated in the future.

virtual char* vtkDICOMImageReader::GetDirectoryName ( )
virtual

Returns the directory name.

double* vtkDICOMImageReader::GetPixelSpacing ( )

Returns the pixel spacing (in X, Y, Z).

Note: if there is only one slice, the Z spacing is set to the slice thickness. If there is more than one slice, it is set to the distance between the first two slices.

int vtkDICOMImageReader::GetWidth ( )

Returns the image width.

int vtkDICOMImageReader::GetHeight ( )

Returns the image height.

float* vtkDICOMImageReader::GetImagePositionPatient ( )

Get the (DICOM) x,y,z coordinates of the first pixel in the image (upper left hand corner) of the last image processed by the DICOMParser.

float* vtkDICOMImageReader::GetImageOrientationPatient ( )

Get the (DICOM) directions cosines.

It consist of the components of the first two vectors. The third vector needs to be computed to form an orthonormal basis.

int vtkDICOMImageReader::GetBitsAllocated ( )

Get the number of bits allocated for each pixel in the file.

int vtkDICOMImageReader::GetPixelRepresentation ( )

Get the pixel representation of the last image processed by the DICOMParser.

A zero is a unsigned quantity. A one indicates a signed quantity

int vtkDICOMImageReader::GetNumberOfComponents ( )

Get the number of components of the image data for the last image processed.

const char* vtkDICOMImageReader::GetTransferSyntaxUID ( )

Get the transfer syntax UID for the last image processed.

float vtkDICOMImageReader::GetRescaleSlope ( )

Get the rescale slope for the pixel data.

float vtkDICOMImageReader::GetRescaleOffset ( )

Get the rescale offset for the pixel data.

const char* vtkDICOMImageReader::GetPatientName ( )

Get the patient name for the last image processed.

const char* vtkDICOMImageReader::GetStudyUID ( )

Get the study uid for the last image processed.

const char* vtkDICOMImageReader::GetStudyID ( )

Get the Study ID for the last image processed.

float vtkDICOMImageReader::GetGantryAngle ( )

Get the gantry angle for the last image processed.

int vtkDICOMImageReader::CanReadFile ( const char *  fname)
override
const char* vtkDICOMImageReader::GetFileExtensions ( )
inlineoverridevirtual

Get the file extensions for this format.

Returns a string with a space separated list of extensions in the format .extension

Reimplemented from vtkImageReader2.

Definition at line 195 of file vtkDICOMImageReader.h.

const char* vtkDICOMImageReader::GetDescriptiveName ( )
inlineoverridevirtual

Return a descriptive name for the file format that might be useful in a GUI.

Reimplemented from vtkImageReader2.

Definition at line 203 of file vtkDICOMImageReader.h.

void vtkDICOMImageReader::SetupOutputInformation ( int  num_slices)
protected
void vtkDICOMImageReader::ExecuteInformation ( )
overrideprotectedvirtual

Reimplemented from vtkImageReader2.

void vtkDICOMImageReader::ExecuteDataWithInformation ( vtkDataObject output,
vtkInformation outInfo 
)
overrideprotectedvirtual

This is a convenience method that is implemented in many subclasses instead of RequestData.

It is called by RequestData.

Reimplemented from vtkImageAlgorithm.

int vtkDICOMImageReader::GetNumberOfDICOMFileNames ( )
protected
const char* vtkDICOMImageReader::GetDICOMFileName ( int  index)
protected

Member Data Documentation

DICOMParser* vtkDICOMImageReader::Parser
protected

Definition at line 230 of file vtkDICOMImageReader.h.

DICOMAppHelper* vtkDICOMImageReader::AppHelper
protected

Definition at line 235 of file vtkDICOMImageReader.h.

vtkDICOMImageReaderVector* vtkDICOMImageReader::DICOMFileNames
protected

Definition at line 240 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::DirectoryName
protected

Definition at line 241 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::PatientName
protected

Definition at line 243 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::StudyUID
protected

Definition at line 244 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::StudyID
protected

Definition at line 245 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::TransferSyntaxUID
protected

Definition at line 246 of file vtkDICOMImageReader.h.


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