VTK
Public Member Functions | Protected Member Functions | Protected Attributes
vtkDICOMImageReader Class Reference

Reads some DICOM images. More...

#include <vtkDICOMImageReader.h>

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

List of all members.

- Public Types inherited from vtkImageReader2 - Public Types inherited from vtkImageAlgorithm - Public Types inherited from vtkAlgorithm - Public Types inherited from vtkObject

Public Member Functions

void PrintSelf (ostream &os, vtkIndent indent)
void SetDirectoryName (const char *dn)
double * GetPixelSpacing ()
int GetWidth ()
int GetHeight ()
float * GetImagePositionPatient ()
float * GetImageOrientationPatient ()
int GetBitsAllocated ()
int GetPixelRepresentation ()
int GetNumberOfComponents ()
const char * GetTransferSyntaxUID ()
float GetRescaleSlope ()
float GetRescaleOffset ()
const char * GetPatientName ()
const char * GetStudyUID ()
const char * GetStudyID ()
float GetGantryAngle ()
virtual int CanReadFile (const char *fname)
virtual const char * GetFileExtensions ()
void SetFileName (const char *fn)
virtual char * GetDirectoryName ()
virtual const char * GetDescriptiveName ()
- Public Member Functions inherited from vtkImageReader2
virtual void SetHeaderSize (unsigned long size)
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 char * GetFileName ()
virtual void SetFileNames (vtkStringArray *)
virtual vtkStringArrayGetFileNames ()
virtual void SetFilePrefix (const char *)
virtual char * GetFilePrefix ()
virtual void SetFilePattern (const char *)
virtual char * GetFilePattern ()
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 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 ()
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
vtkDataObjectGetInput (int port)
vtkDataObjectGetInput ()
vtkImageDataGetImageDataInput (int port)
vtkImageDataGetOutput ()
vtkImageDataGetOutput (int)
virtual void SetOutput (vtkDataObject *d)
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetInput (vtkDataObject *)
void SetInput (int, vtkDataObject *)
virtual void AddInput (vtkDataObject *)
virtual void AddInput (int, vtkDataObject *)
- Public Member Functions inherited from vtkAlgorithm
int HasExecutive ()
vtkExecutiveGetExecutive ()
virtual void SetExecutive (vtkExecutive *executive)
virtual int ModifyRequest (vtkInformation *request, int when)
vtkInformationGetInputPortInformation (int port)
vtkInformationGetOutputPortInformation (int port)
int GetNumberOfInputPorts ()
int GetNumberOfOutputPorts ()
void UpdateProgress (double amount)
vtkInformationGetInputArrayInformation (int idx)
void RemoveAllInputs ()
vtkDataObjectGetOutputDataObject (int port)
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
int GetNumberOfInputConnections (int port)
int GetTotalNumberOfInputConnections ()
vtkAlgorithmOutputGetInputConnection (int port, int index)
virtual void Update ()
virtual void UpdateInformation ()
virtual void UpdateWholeExtent ()
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
virtual double ComputePriority ()
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
virtual vtkInformationGetInformation ()
virtual void SetInformation (vtkInformation *)
virtual void Register (vtkObjectBase *o)
virtual void UnRegister (vtkObjectBase *o)
virtual void SetAbortExecute (int)
virtual int GetAbortExecute ()
virtual void AbortExecuteOn ()
virtual void AbortExecuteOff ()
virtual void SetProgress (double)
virtual double GetProgress ()
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)
vtkDataObjectGetInputDataObject (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)
vtkAlgorithmOutputGetOutputPort (int index)
vtkAlgorithmOutputGetOutputPort ()
virtual void SetReleaseDataFlag (int)
virtual int GetReleaseDataFlag ()
void ReleaseDataFlagOn ()
void ReleaseDataFlagOff ()
int UpdateExtentIsEmpty (vtkDataObject *output)
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
- Public Member Functions inherited from vtkObject
virtual void DebugOn ()
virtual void DebugOff ()
unsigned char GetDebug ()
void SetDebug (unsigned char debugFlag)
virtual void Modified ()
virtual unsigned long GetMTime ()
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
vtkCommandGetCommand (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)
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 Print (ostream &os)
void SetReferenceCount (int)
void PrintRevisions (ostream &os)
virtual void PrintHeader (ostream &os, vtkIndent indent)
virtual void PrintTrailer (ostream &os, vtkIndent indent)
int GetReferenceCount ()

Protected Member Functions

void SetupOutputInformation (int num_slices)
virtual void ExecuteInformation ()
virtual void ExecuteData (vtkDataObject *out)
 vtkDICOMImageReader ()
virtual ~vtkDICOMImageReader ()
int GetNumberOfDICOMFileNames ()
const char * GetDICOMFileName (int index)
- Protected Member Functions inherited from vtkImageReader2
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void ComputeDataIncrements ()
 vtkImageReader2 ()
 ~vtkImageReader2 ()
- Protected Member Functions inherited from vtkImageAlgorithm
 vtkImageAlgorithm ()
 ~vtkImageAlgorithm ()
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void AllocateOutputData (vtkImageData *out, int *uExtent)
virtual vtkImageDataAllocateOutputData (vtkDataObject *out)
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void Execute ()
- Protected Member Functions inherited from vtkAlgorithm
 vtkAlgorithm ()
 ~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)
virtual vtkExecutiveCreateDefaultExecutive ()
virtual void ReportReferences (vtkGarbageCollector *)
virtual void SetNumberOfInputConnections (int port, int n)
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
int GetInputArrayAssociation (int idx, vtkDataObject *input)
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
virtual void SetErrorCode (unsigned long)
- Protected Member Functions inherited from vtkObject
 vtkObject ()
virtual ~vtkObject ()
virtual void RegisterInternal (vtkObjectBase *, int check)
virtual void UnRegisterInternal (vtkObjectBase *, int check)
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
void InternalReleaseFocus ()
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
virtual void CollectRevisions (ostream &os)
 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
int FileLowerLeft
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
typedef vtkImageReader2 Superclass
static vtkDICOMImageReaderNew ()
static int IsTypeOf (const char *type)
static vtkDICOMImageReaderSafeDownCast (vtkObject *o)
virtual const char * GetClassName ()
virtual int IsA (const char *type)

Additional Inherited Members


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.

Reimplemented from vtkImageReader2.

Definition at line 59 of file vtkDICOMImageReader.h.


Constructor & Destructor Documentation

vtkDICOMImageReader::vtkDICOMImageReader ( )
protected
virtual vtkDICOMImageReader::~vtkDICOMImageReader ( )
protectedvirtual

Member Function Documentation

static vtkDICOMImageReader* vtkDICOMImageReader::New ( )
static

Static method for construction.

Reimplemented from vtkImageReader2.

virtual const char* vtkDICOMImageReader::GetClassName ( )
virtual

Static method for construction.

Reimplemented from vtkImageReader2.

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

Static method for construction.

Reimplemented from vtkImageReader2.

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

Static method for construction.

Reimplemented from vtkImageReader2.

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

Static method for construction.

Reimplemented from vtkImageReader2.

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

Prints the ivars.

Reimplemented from vtkImageReader2.

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

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 68 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.

virtual int vtkDICOMImageReader::CanReadFile ( const char *  fname)
virtual
virtual const char* vtkDICOMImageReader::GetFileExtensions ( )
inlinevirtual

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 160 of file vtkDICOMImageReader.h.

virtual const char* vtkDICOMImageReader::GetDescriptiveName ( )
inlinevirtual

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

Reimplemented from vtkImageReader2.

Definition at line 168 of file vtkDICOMImageReader.h.

void vtkDICOMImageReader::SetupOutputInformation ( int  num_slices)
protected
virtual void vtkDICOMImageReader::ExecuteInformation ( )
protectedvirtual

Reimplemented from vtkImageReader2.

virtual void vtkDICOMImageReader::ExecuteData ( vtkDataObject output)
protectedvirtual

This method is the old style execute method

Reimplemented from vtkImageReader2.

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

Member Data Documentation

DICOMParser* vtkDICOMImageReader::Parser
protected

Definition at line 196 of file vtkDICOMImageReader.h.

DICOMAppHelper* vtkDICOMImageReader::AppHelper
protected

Definition at line 201 of file vtkDICOMImageReader.h.

vtkDICOMImageReaderVector* vtkDICOMImageReader::DICOMFileNames
protected

Definition at line 206 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::DirectoryName
protected

Definition at line 207 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::PatientName
protected

Definition at line 209 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::StudyUID
protected

Definition at line 210 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::StudyID
protected

Definition at line 211 of file vtkDICOMImageReader.h.

char* vtkDICOMImageReader::TransferSyntaxUID
protected

Definition at line 212 of file vtkDICOMImageReader.h.


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