SIVIC API  0.9.26
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
svkDcmHeader Class Referenceabstract

#include <svkDcmHeader.h>

Inheritance diagram for svkDcmHeader:
svkDcmtkAdapter

Public Types

enum  DcmIodType {
  MR_IMAGE = 0, ENHANCED_MR_IMAGE, MR_SPECTROSCOPY, SECONDARY_CAPTURE,
  MULTI_FRAME_BYTE_SC, MULTI_FRAME_WORD_SC, RAW_DATA
}
 
enum  { DCMTK_API = 0 }
 
enum  DcmPixelDataFormat {
  UNDEFINED = -1, UNSIGNED_INT_1 = 0, UNSIGNED_INT_2, SIGNED_INT_2,
  SIGNED_FLOAT_4, SIGNED_FLOAT_8
}
 
enum  Orientation { UNKNOWN_ORIENTATION = -1, AXIAL = 0, CORONAL, SAGITTAL }
 
enum  DcmDataOrderingDirection { SLICE_ORDER_UNDEFINED = -1, INCREMENT_ALONG_POS_NORMAL = 0, INCREMENT_ALONG_NEG_NORMAL = 1 }
 
enum  PHIType { PHI_IDENTIFIED = 0, PHI_LIMITED, PHI_DEIDENTIFIED }
 
enum  DimensionIndexLabel {
  COL_INDEX = -2, ROW_INDEX = -1, SLICE_INDEX = 0, TIME_INDEX = 1,
  CHANNEL_INDEX = 2, EPSI_ACQ_INDEX = 3
}
 
typedef vector< map
< svkDcmHeader::DimensionIndexLabel,
int > > 
DimensionVector
 

Public Member Functions

 vtkTypeMacro (svkDcmHeader, vtkObject)
 
virtual void CreateIOD (DcmIodType iodType)=0
 
virtual void SetSOPClassUID (DcmIodType iodType)=0
 
virtual void PrintDcmHeader ()=0
 
virtual void PrintDcmHeader (ostream &os)=0
 
virtual void InsertEmptyElement (const char *name)=0
 
virtual void InsertUniqueUID (const char *name)=0
 
virtual string GenerateUniqueUID ()=0
 
virtual void SetValue (const char *name, int value)=0
 
virtual void SetValue (const char *name, float value)=0
 
virtual void SetValue (const char *name, double value)=0
 
virtual void SetValue (const char *name, string value, bool setMetaInfo=false)=0
 
virtual void SetValue (const char *name, unsigned char *values, int numValues)=0
 
virtual void SetValue (const char *name, unsigned short *values, int numValues)=0
 
virtual void SetValue (const char *name, signed short *values, int numValues)=0
 
virtual void SetValue (const char *name, float *values, int numValues)=0
 
virtual void ModifyValueRecursive (const char *name, string value)=0
 
virtual void GetByteValue (const char *name, char *values, long unsigned int numValues)=0
 
virtual void GetShortValue (const char *name, short *values, long unsigned int numValues)=0
 
virtual unsigned short GetShortValue (const char *name, long unsigned int position)=0
 
virtual unsigned short GetPixelValue (long unsigned int position)=0
 
virtual int GetIntValue (const char *name)=0
 
virtual float GetFloatValue (const char *name)=0
 
virtual void GetFloatValue (const char *name, float *values, long unsigned int numValues)=0
 
virtual double GetDoubleValue (const char *name)=0
 
virtual string GetStringValue (const char *name)=0
 
virtual string GetStringValue (const char *name, int pos)=0
 
virtual void AddSequenceItemElement (const char *parentSeqName, int parentSeqItemPosition, const char *elementName)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, string value, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, char *values, int numValues, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, unsigned short *values, int numValues, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, unsigned int *values, int numValues, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, float *values, unsigned long int numValues, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, int value, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, long int value, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, float value, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void AddSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, double value, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual void CopySequence (svkDcmHeader *target, const char *seqName)=0
 
virtual void ClearSequence (const char *parentSeqName)=0
 
virtual void ClearElement (const char *elementName)=0
 
virtual void RemoveElement (const char *elementName)=0
 
virtual int GetIntSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, const char *parentSeqName=NULL, int parentSeqItemPosition=0, int pos=0)=0
 
virtual long int GetLongIntSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, const char *parentSeqName=NULL, int parentSeqItemPosition=0, int pos=0)=0
 
virtual float GetFloatSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, const char *parentSeqName=NULL, int parentSeqItemPosition=0, int pos=0)=0
 
virtual void GetFloatSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, float *values, int numValues, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual double GetDoubleSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual string GetStringSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual string GetStringSequenceItemElement (const char *seqName, int seqItemPosition, const char *elementName, int pos, const char *parentSeqName=NULL, int parentSeqItemPosition=0)=0
 
virtual int GetNumberOfElements (const char *elementName)=0
 
virtual int GetNumberOfItemsInSequence (const char *seqName)=0
 
virtual int GetNumberOfItemsInSequence (const char *seqName, const char *parentSeqName, int parentSeqItemPosition)=0
 
virtual void WriteDcmFile (string fileName)=0
 
virtual void WriteDcmFileCompressed (string fileName)=0
 
virtual int ReadDcmFile (string fileName, unsigned int max_length=0)=0
 
virtual int ReadDcmFileHeaderOnly (string fileName)=0
 
virtual int GetOriginalXFerSyntax ()=0
 
virtual void CopyDcmHeader (svkDcmHeader *headerCopy)=0
 
void MakeDerivedDcmHeader (svkDcmHeader *headerCopy, string seriesDescription)
 
void MakeDerivedDcmHeader (string seriesDescription="")
 
virtual bool ElementExists (const char *elementName, const char *parentSeqName=NULL)=0
 
virtual void ReplaceOldElements (bool replaceElements)=0
 
string GetDcmPatientName (string PatientName)
 
void SetDcmPatientName (string PatientName)
 
void SetPixelDataType (DcmPixelDataFormat dataType)
 
int GetPixelDataType (int vtkDataType=svkDcmHeader::UNDEFINED)
 
int GetOrigin (double origin[3], int frameNumber=0)
 
void GetPixelSpacing (double spacing[3])
 
void GetPixelSize (double size[3])
 
void GetOrientation (double orientation[2][3])
 
Orientation GetOrientationType ()
 
int GetOrientationIndex (svkDcmHeader::Orientation orientation)
 
void GetNormalVector (double normal[3])
 
void GetDataDcos (double dcos[3][3], DcmDataOrderingDirection dataSliceOrder=SLICE_ORDER_UNDEFINED)
 
void SetSliceOrder (DcmDataOrderingDirection sliceOrderVal)
 
int GetNumberOfCoils ()
 
int GetNumberOfSlices ()
 
int GetNumberOfTimePoints ()
 
int GetSliceForFrame (int frame)
 
void UpdateNumTimePoints ()
 
void UpdateNumCoils ()
 
int GetDimensionIndexPosition (string indexLabel)
 
string GetDimensionIndexLabel (int dimensionIndexNumber)
 
void AddDimensionIndex (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionIndexLabel indexType, int maxIndex=0)
 
void RemoveDimensionIndex (svkDcmHeader::DimensionIndexLabel indexType)
 
void SetDimensionIndexSize (svkDcmHeader::DimensionIndexLabel indexType, int maxIndex)
 
virtual int GetSequenceItemElementLength (const char *seqName, int seqItemPosition, const char *elementName, const char *parentSeqName, int parentSeqItemPosition)=0
 
DimensionVector GetDimensionIndexVector ()
 
int GetNumberOfFramesInDimension (int dimensionIndex)
 
int GetNumberOfFrames (svkDcmHeader::DimensionVector *dimensionVector)
 
void InitPatientModule (string PatientName, string patientID, string PatientBirthDate, string PatientSex)
 
void InitGeneralStudyModule (string studyDate, string studyTime, string referringPhysiciansName, string studyID, string accessionNumber, string studyInstanceUID)
 
void InitGeneralSeriesModule (string seriesNumber, string seriesDescription, string patientPosition)
 
void InitImagePixelModule (int rows, int columns, svkDcmHeader::DcmPixelDataFormat dataType)
 
void InitImagePlaneModule (string imagePositionPatient, string pixelSpacing="", string imageOrientationPatient="", string sliceThickness="")
 
void InitMRImageModule (string repetitionTime, string echoTime)
 
void InitPlaneOrientationMacro (double dcos[3][3])
 
void InitPlaneOrientationMacro (string orientationString)
 
void InitPixelMeasuresMacro (string pixelSizes, string sliceThickness)
 
void InitMultiFrameDimensionModule (svkDcmHeader::DimensionVector *dimensionVector)
 
void InitPerFrameFunctionalGroupSequence (double toplc[3], double voxelSpacing[3], double dcos[3][3], svkDcmHeader::DimensionVector *dimensionVector)
 
void InitVOILUTModule (float center, float width)
 
void InitPixelValueTransformationMacro (double slope=1.00000, double intercept=0.00000)
 
void InitMRImagingModifierMacro (float transmitFreq, float pixelBandwidth, string magTransfer="NONE", string bloodNulling="NO")
 
void InitVolumeLocalizationSeq (float size[3], float center[3], float dcos[3][3])
 
void InitMRTimingAndRelatedParametersMacro (float tr=UNKNOWN_TIME, float flipAngle=-999, int numEchoes=1)
 
void InitMREchoMacro (float TE=UNKNOWN_TIME)
 
void InitMRModifierMacro (float inversionTime=UNKNOWN_TIME)
 
void InitMRTransmitCoilMacro (string coilMfg="UNKNOWN", string coilName="UNKNOWN", string coilType="UNKNOWN")
 
void InitMRAveragesMacro (int numAverages=1)
 
void InitRawDataModule (string contentDate, string contentTime, void *rawFile)
 
int InitDerivedMRIHeader (svkDcmHeader *mri, vtkIdType dataType, string seriesDescription)
 
int ConvertEnhancedMriToMriHeader (svkDcmHeader *mri, vtkIdType dataType)
 
virtual string GetDcmNameFromTag (string groupElementString)=0
 
void Deidentify (PHIType phiType)
 
void Deidentify (PHIType phiType, string id)
 
void Deidentify (PHIType phyType, string patientId, string studyId)
 
void Redimension (svkDcmHeader::DimensionVector *dimensionVector)
 
void Redimension (svkDcmHeader::DimensionVector *dimensionVector, double *newToplcOrigin, double *newPixelSpacing)
 

Static Public Member Functions

static int GetNumberOfDimensionIndices (int numTimePts, int numCoils)
 
static void SetDimensionIndices (unsigned int *indexValues, int numFrameIndices, int sliceNum, int timePt, int coilNum, int numTimePts, int numCoils)
 
static void PrintDimensionIndexVector (svkDcmHeader::DimensionVector *dimensionVector)
 
static void SwapDimensionIndexLabels (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionIndexLabel label1, svkDcmHeader::DimensionIndexLabel label2)
 
static DimensionIndexLabel StringToDimensionIndexLabel (string dimensionIndexLabelString)
 
static string DimensionIndexLabelToString (svkDcmHeader::DimensionIndexLabel label)
 
static DimensionIndexLabel GetDimensionLabelFromIndex (svkDcmHeader::DimensionVector *dimensionVector, int index)
 
static int GetDimensionVectorValue (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionIndexLabel dimensionLabel)
 
static int GetDimensionVectorValue (svkDcmHeader::DimensionVector *dimensionVector, int index)
 
static void SetDimensionVectorValue (svkDcmHeader::DimensionVector *dimensionVector, int index, int value)
 
static void SetDimensionVectorValue (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionIndexLabel indexType, int value)
 
static bool IsDimensionDefined (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionIndexLabel indexType)
 
static void GetDimensionVectorIndexFromFrame (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionVector *loopIndex, int frame)
 
static void GetDimensionVectorIndexFromCellID (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionVector *loopIndex, int cellID)
 
static int GetCellIDFromDimensionVectorIndex (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionVector *loopIndex)
 
static int GetSpatialCellIDFromDimensionVectorIndex (svkDcmHeader::DimensionVector *dimensionVector, svkDcmHeader::DimensionVector *loopIndex)
 
static int GetNumberOfCells (svkDcmHeader::DimensionVector *dimensionVector)
 
static long int GetPixelDataOffset (string fileName)
 
static short GetPixelValueAsShort (long int offsetToPixelData, long int pixelIndex, string fileName)
 
static bool IsFileDICOM (string fname)
 
static
svkDcmHeader::DcmPixelDataFormat 
GetVtkDataTypeFromSvkDataType (vtkIdType vtkType)
 
static void GetCenterFromOrigin (double origin[3], int numVoxels[3], double voxelSpacing[3], double dcos[3][3], double center[3])
 
static void GetCenterFromOrigin (svkDcmHeader *hdr, double center[3])
 
static void GetOriginFromCenter (double center[3], int numVoxels[3], double voxelSpacing[3], double dcos[3][3], double origin[3])
 
static void GetSpatialDimensions (svkDcmHeader::DimensionVector *dimensionVector, int *numVoxels)
 
static int GetNumSpatialVoxels (svkDcmHeader::DimensionVector *dimensionVector)
 

Static Public Attributes

static const float UNKNOWN_TIME = -1
 
static const string UNKNOWN_STRING = "UNKNOWN"
 

Protected Member Functions

 svkDcmHeader ()
 
 ~svkDcmHeader ()
 
bool WasModified ()
 

Detailed Description

Class that represents an svkDcmHeaderObjet.

Member Typedef Documentation

typedef vector< map < svkDcmHeader::DimensionIndexLabel, int> > DimensionVector

Member Enumeration Documentation

anonymous enum
Enumerator
DCMTK_API 
Enumerator
SLICE_ORDER_UNDEFINED 
INCREMENT_ALONG_POS_NORMAL 
INCREMENT_ALONG_NEG_NORMAL 
enum DcmIodType

Supported DICOM IOD types.

Enumerator
MR_IMAGE 
ENHANCED_MR_IMAGE 
MR_SPECTROSCOPY 
SECONDARY_CAPTURE 
MULTI_FRAME_BYTE_SC 
MULTI_FRAME_WORD_SC 
RAW_DATA 
Enumerator
UNDEFINED 
UNSIGNED_INT_1 
UNSIGNED_INT_2 
SIGNED_INT_2 
SIGNED_FLOAT_4 
SIGNED_FLOAT_8 
Enumerator
COL_INDEX 
ROW_INDEX 
SLICE_INDEX 
TIME_INDEX 
CHANNEL_INDEX 
EPSI_ACQ_INDEX 
Enumerator
UNKNOWN_ORIENTATION 
AXIAL 
CORONAL 
SAGITTAL 
enum PHIType
Enumerator
PHI_IDENTIFIED 
PHI_LIMITED 
PHI_DEIDENTIFIED 

Constructor & Destructor Documentation

svkDcmHeader ( )
protected
~svkDcmHeader ( )
protected

Member Function Documentation

void AddDimensionIndex ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionIndexLabel  indexType,
int  maxIndex = 0 
)

Adds a dimension to the existing DimensionVector. Applies the new dimension to the DICOM DimensionIndexSequence. By default sets the size of the new dimension to 1 (max value = 0) in the DimensionVector. This is typically not a spatial dimension so the origin/toplc do not change

References svkDcmHeader::IsDimensionDefined(), and svkDcmHeader::Redimension().

Referenced by svkIOD::InitMultiFrameDimensionModule(), svkGEPFileMapper::InitPerFrameFunctionalGroupMacros(), and svkGEPFileMapper::ReorderEPSI().

virtual void AddSequenceItemElement ( const char *  parentSeqName,
int  parentSeqItemPosition,
const char *  elementName 
)
pure virtual

Method to add a nested SQ element in the specified item of the parent sequence.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmSegmentationVolumeReader::ExecuteInformation(), svkDcmHeader::InitDerivedMRIHeader(), svkIOD::InitFrameAnatomyMacro(), svkGEPFileMapper::InitMRAveragesMacro(), svkGESigna5XReader::InitMRAveragesMacro(), svkDcmHeader::InitMRAveragesMacro(), svkDcmHeader::InitMREchoMacro(), svkGESigna5XReader::InitMRFOVGeometryMacro(), svkEnhancedMRIIOD::InitMRImageFrameTypeMacro(), svkGESigna5XReader::InitMRImageFrameTypeMacro(), svkDcmHeader::InitMRImagingModifierMacro(), svkGESigna5XReader::InitMRModifierMacro(), svkDcmHeader::InitMRModifierMacro(), svkVarianCSFidMapper::InitMRReceiveCoilMacro(), svkPhilipsSMapper::InitMRReceiveCoilMacro(), svkVarianFidMapper::InitMRReceiveCoilMacro(), svkGEPFileMapper::InitMRReceiveCoilMacro(), svkGESigna5XReader::InitMRReceiveCoilMacro(), svkGEPFileMapper::InitMRSpatialSaturationMacro(), svkVarianCSFidMapper::InitMRSpectroscopyFOVGeometryMacro(), svkPhilipsSMapper::InitMRSpectroscopyFOVGeometryMacro(), svkVarianFidMapper::InitMRSpectroscopyFOVGeometryMacro(), svkGEPFileMapper::InitMRSpectroscopyFOVGeometryMacro(), svkMRSIOD::InitMRSpectroscopyFrameTypeMacro(), svkGEPFileMapper::InitMRSpectroscopyFrameTypeMacro(), svkGESigna5XReader::InitMRTimingAndRelatedParametersMacro(), svkDcmHeader::InitMRTimingAndRelatedParametersMacro(), svkDcmHeader::InitMRTransmitCoilMacro(), svkPhilipsSMapper::InitMultiFrameDimensionModule(), svkVarianFidMapper::InitMultiFrameDimensionModule(), svkDcmHeader::InitMultiFrameDimensionModule(), svkGESigna5XReader::InitPixelMeasuresMacro(), svkDcmHeader::InitPixelMeasuresMacro(), svkGESigna5XReader::InitPixelValueTransformationMacro(), svkDcmHeader::InitPixelValueTransformationMacro(), svkVarianCSFidMapper::InitPlaneOrientationMacro(), svkPhilipsSMapper::InitPlaneOrientationMacro(), svkVarianFidMapper::InitPlaneOrientationMacro(), svkGEPFileMapper::InitPlaneOrientationMacro(), svkGESigna5XReader::InitPlaneOrientationMacro(), svkDcmHeader::InitPlaneOrientationMacro(), svkGEPFileMapper::InitSatBand(), svkGEPFileMapper::InitVolumeLocalizationSeq(), svkDcmHeader::InitVolumeLocalizationSeq(), svkVoxelTaggingUtils::InsertTagIntoHeader(), svkMriZeroFill::RequestData(), svkVoxelTaggingUtils::SetTagName(), and svkVoxelTaggingUtils::SetTagValue().

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
string  value,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add an item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
char *  values,
int  numValues,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add a multi-valued item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
unsigned short *  values,
int  numValues,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add a multi-valued item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
unsigned int *  values,
int  numValues,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add a multi-valued item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
float *  values,
unsigned long int  numValues,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add a multi-valued item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
int  value,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add an item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
long int  value,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add an item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
float  value,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add an item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void AddSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
double  value,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to add an item to a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual void ClearElement ( const char *  elementName)
pure virtual

Method to clear all items from a sequence of items

Implemented in svkDcmtkAdapter.

Referenced by svkDICOMMRSWriter::Write().

virtual void ClearSequence ( const char *  parentSeqName)
pure virtual
int ConvertEnhancedMriToMriHeader ( svkDcmHeader mri,
vtkIdType  dataType 
)
virtual void CopyDcmHeader ( svkDcmHeader headerCopy)
pure virtual

Copies the current DICOM header to the headerCopy, generating new series and instance UIDs, but retaining the reference header studyUID. VTK doesn't support copy constructors, so this is a method.

Parameters
headerCopyheader object to copy current object into.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmHeader::MakeDerivedDcmHeader().

virtual void CopySequence ( svkDcmHeader target,
const char *  seqName 
)
pure virtual

Method to copy a sequence from one header to another. Useful when when creating derived datasets.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmHeader::ConvertEnhancedMriToMriHeader().

virtual void CreateIOD ( DcmIodType  iodType)
pure virtual

Factory method with specific imlementation in adapter sub-class. create the implementation specific adaptee type (e.g. DcmFileFormat for DCMTK).

Implemented in svkDcmtkAdapter.

void Deidentify ( PHIType  phiType)

Replaces PHI field with "DEIDENTIFIED" string. If phiType is LIMITED, then dates are preserved. This method does not look at private or nested tags. 0008,0018 SOPInstanceUID=UIDROOT,SOPInstanceUID 0008,0020 StudyDate 0008,0021 SeriesDate 0008,0022 AcquisitionDate 0008,0023 ContentDate 0008,0050 AccessionNumber 0008,0080 InstitutionName 0008,0090 ReferringPhysicianName 0008,1060 NameOfPhysiciansReadingStudy 0008,1155 RefSOPInstanceUID 0010,0010 PatientName 0010,0020 PatientID 0010,0030 PatientBirthDate 0010,1000 OtherPatientIDs 0010,1001 OtherPatientNames 0010,1040 PatientAddress 0010,1060 PatientMotherBirthName 0010,2154 PatientTelephoneNumbers 0020,000D StudyInstanceUID 0020,000E SeriesInstanceUID 0020,0010 StudyID 0020,0052 FrameOfReferenceUID 0028,0301 BurnedInAnnotation 0032,1032 RequestingPhysician 0040,1001 RequestedProcedureID 0040,0009 ScheduledProcedureStepID 0040,A124 UID 0088,0140 StorageMediaFileSetUID 3006,0024 ReferencedFrameOfReferenceUID 3006,00C2 RelatedFrameOfReferenceUID

Referenced by svkDcmHeader::Deidentify().

void Deidentify ( PHIType  phiType,
string  id 
)

Replaces PHI field with id. If phiType is LIMITED, then dates are preserved. This method does not look at private or nested tags. 0008,0018 SOPInstanceUID=UIDROOT,SOPInstanceUID 0008,0020 StudyDate 0008,0021 SeriesDate 0008,0022 AcquisitionDate 0008,0023 ContentDate 0008,0050 AccessionNumber 0008,0080 InstitutionName 0008,0090 ReferringPhysicianName 0008,1060 NameOfPhysiciansReadingStudy 0008,1155 RefSOPInstanceUID 0010,0010 PatientName 0010,0020 PatientID 0010,0030 PatientBirthDate 0010,1000 OtherPatientIDs 0010,1001 OtherPatientNames 0010,1040 PatientAddress 0010,1060 PatientMotherBirthName 0010,2154 PatientTelephoneNumbers 0020,000D StudyInstanceUID 0020,000E SeriesInstanceUID 0020,0010 StudyID 0020,0052 FrameOfReferenceUID 0028,0301 BurnedInAnnotation 0032,1032 RequestingPhysician 0040,1001 RequestedProcedureID 0040,0009 ScheduledProcedureStepID 0040,A124 UID 0088,0140 StorageMediaFileSetUID 3006,0024 ReferencedFrameOfReferenceUID 3006,00C2 RelatedFrameOfReferenceUID

References svkDcmHeader::Deidentify().

void Deidentify ( PHIType  phiType,
string  patientId,
string  studyId 
)

Replaces PHI patient fields with patientId, study fields and all other PHI fields with studyId. If phiType is LIMITED, then dates are preserved. This method does not look at private nested tags. 0008,0018 SOPInstanceUID=UIDROOT,SOPInstanceUID 0008,0020 StudyDate 0008,0021 SeriesDate 0008,0022 AcquisitionDate 0008,0023 ContentDate 0008,0050 AccessionNumber 0008,0080 InstitutionName 0008,0090 ReferringPhysicianName 0008,1060 NameOfPhysiciansReadingStudy 0008,1155 RefSOPInstanceUID 0010,0010 PatientName 0010,0020 PatientID 0010,0030 PatientBirthDate 0010,1000 OtherPatientIDs 0010,1001 OtherPatientNames 0010,1040 PatientAddress 0010,1060 PatientMotherBirthName 0010,2154 PatientTelephoneNumbers 0020,000D StudyInstanceUID 0020,000E SeriesInstanceUID 0020,0010 StudyID 0020,0052 FrameOfReferenceUID 0028,0301 BurnedInAnnotation 0032,1032 RequestingPhysician 0040,1001 RequestedProcedureID 0040,0009 ScheduledProcedureStepID 0040,A124 UID 0088,0140 StorageMediaFileSetUID 3006,0024 ReferencedFrameOfReferenceUID 3006,00C2 RelatedFrameOfReferenceUID

References svkDcmHeader::ElementExists(), svkDcmHeader::GenerateUniqueUID(), svkDcmHeader::ModifyValueRecursive(), svkDcmHeader::PHI_DEIDENTIFIED, svkDcmHeader::PHI_LIMITED, and svkDcmHeader::SetValue().

string DimensionIndexLabelToString ( svkDcmHeader::DimensionIndexLabel  label)
static

Convert between strng and svkDcmHeader::DimensionIndexLabel These are the string representations of the DICOM DimensionIndexLabel attribute.

Referenced by svkDcmHeader::InitMultiFrameDimensionModule(), svkDcmHeader::PrintDimensionIndexVector(), and svkDcmHeader::RemoveDimensionIndex().

virtual bool ElementExists ( const char *  elementName,
const char *  parentSeqName = NULL 
)
pure virtual
virtual string GenerateUniqueUID ( )
pure virtual

Utility method to generate a new unique DICOM UID.

Implemented in svkDcmtkAdapter.

Referenced by svkGEPFileReader::Deidentify(), svkDcmHeader::Deidentify(), and svkDcmHeader::MakeDerivedDcmHeader().

virtual void GetByteValue ( const char *  name,
char *  values,
long unsigned int  numValues 
)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

int GetCellIDFromDimensionVectorIndex ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionVector loopIndex 
)
static
void GetCenterFromOrigin ( double  origin[3],
int  numVoxels[3],
double  voxelSpacing[3],
double  dcos[3][3],
double  center[3] 
)
static
void GetCenterFromOrigin ( svkDcmHeader hdr,
double  center[3] 
)
static
void GetDataDcos ( double  dcos[3][3],
DcmDataOrderingDirection  sliceOrderVal = SLICE_ORDER_UNDEFINED 
)

Returns the 3x3 DCOS matrix with slice vector indicating the direction of data ordering in the data set. i.e. in LPS, 0,0,-1 indicates data is ordered by slice from S to I.

References svkDcmHeader::GetNormalVector(), svkDcmHeader::GetOrientation(), svkDcmHeader::INCREMENT_ALONG_NEG_NORMAL, and svkDcmHeader::SLICE_ORDER_UNDEFINED.

Referenced by svkDataValidator::AreDataOrientationsSame(), svkSdbmVolumeReader::ExecuteDataWithInformation(), svkDdfVolumeReader::ExecuteDataWithInformation(), svkPhilipsSReader::ExecuteDataWithInformation(), svkVarianFidReader::ExecuteDataWithInformation(), svkFdfVolumeReader::ExecuteDataWithInformation(), svkIdfVolumeReader::ExecuteDataWithInformation(), svkSiemensRdaReader::ExecuteDataWithInformation(), svkGEPFileReader::ExecuteDataWithInformation(), svkDcmVolumeReader::ExecuteInformation(), svkGESigna5XReader::ExecuteInformation(), svkVoxelTaggingUtils::FixPerFrameFunctionalGroupSequence(), svkDcmHeader::GetCenterFromOrigin(), svkDcmHeader::GetOrientationIndex(), svkDcmHeader::InitDerivedMRIHeader(), svkVarianCSFidMapper::InitMRSpectroscopyFOVGeometryMacro(), svkVarianUCSF2DcsiMapper::InitPerFrameFunctionalGroupMacros(), svkVarianUCSFEPSI2DMapper::InitPerFrameFunctionalGroupMacros(), svkPhilipsSMapper::InitPerFrameFunctionalGroupMacros(), svkVarianFidMapper::InitPerFrameFunctionalGroupMacros(), svkVarianCSFidMapper::InitPerFrameFunctionalGroupMacros(), svkGEPFileMapperUCSFfidcsiDev0::ModifyForPatientEntry(), svkMrsImageData::Redimension(), svkDcmHeader::Redimension(), svkVarianUCSFEPSI2DMapper::RedimensionData(), svkGEPFileMapper::RedimensionModifiedSVData(), svkObliqueReslice::SetTarget(), svkImageReader2::SetupOutputInformation(), and svkImageData::SyncVTKImageDataToDcmHeader().

virtual string GetDcmNameFromTag ( string  groupElementString)
pure virtual

Implemented in svkDcmtkAdapter.

string GetDcmPatientName ( string  PatientName)

Converts a string representation of a patient name to a DICOM VR = PN representation. "[lastName[^firstName[^middleName[^namePrefix[^nameSuffix]]]]"

Parameters
PatientNamespace delimited patient name string

Referenced by svkPhilipsSMapper::InitPatientModule(), svkVarianFidMapper::InitPatientModule(), and svkDcmHeader::SetDcmPatientName().

string GetDimensionIndexLabel ( int  dimensionIndexNumber)

Gets the index labe at the specified DimensionIndex position( start index at 0)

References svkDcmHeader::ElementExists(), svkDcmHeader::GetNumberOfItemsInSequence(), and svkDcmHeader::GetStringSequenceItemElement().

int GetDimensionIndexPosition ( string  indexLabel)

Gets the position of the index representing the specified dimension type from the DimensionIndexSequence. e.g. given 3 indices "0/1/2", which one represents slice, coil number, etc. Returns -1 if dimension can't be determined.

References svkDcmHeader::GetNumberOfItemsInSequence(), and svkDcmHeader::GetStringSequenceItemElement().

Referenced by svkMriImageData::GetVolumeIndexForFrame(), and svkDcmHeader::RemoveDimensionIndex().

svkDcmHeader::DimensionVector GetDimensionIndexVector ( )

Returns a data structure representing the current data set dimensions and dimension labels. This includes the 3 spatial dimensions: cols, rows, and DimensionIndexSequence. which includes at least the slice index, but often additional dimensions. Returns a vector or maps. The vector order is from innermost data looping in the PerFrameFunctionalGroup sequence, to outter most. Slice is always present and represents the first index in thsi sequence. vector index: position in dimension index sequence

  • map: string key representing the dimensionIndexLabel
  • map: int max index value representing the size-1 of the dimension in the current data set

References svkDcmHeader::WasModified().

Referenced by svkMRSAutoPhase::AutoPhaseExecute(), svkMRSAutoPhase::AutoPhaseSpectrum(), svkEPSIReorder::CombineLobes(), svkLCModelCoordReader::ExecuteDataWithInformation(), svkIdfVolumeReader::ExecuteDataWithInformation(), svkDcmVolumeReader::ExecuteInformation(), svkMRSZeroOrderPhase::FitPhase(), svkMRSFirstOrderPhase::FitPhase(), svkMRSFirstPointPhase::FitPhase(), svkVoxelTaggingUtils::FixPerFrameFunctionalGroupSequence(), svkHSVD::GetFitSuccessStatus(), svk4DImageData::GetImage(), svkDcmHeader::GetNumberOfSlices(), svkDcmHeader::GetSliceForFrame(), svkDcmHeader::InitDerivedMRIHeader(), svkMrsImageData::InitializeDataArrays(), svkIOD::InitMultiFrameDimensionModule(), svkVarianUCSF2DcsiMapper::InitPerFrameFunctionalGroupMacros(), svkVarianUCSFEPSI2DMapper::InitPerFrameFunctionalGroupMacros(), svkPhilipsSMapper::InitPerFrameFunctionalGroupMacros(), svkVarianFidMapper::InitPerFrameFunctionalGroupMacros(), svkVarianCSFidMapper::InitPerFrameFunctionalGroupMacros(), svkGEPFileMapper::InitPerFrameFunctionalGroupMacros(), svkGESigna5XReader::InitPerFrameFunctionalGroupMacros(), svkGEPFileMapperUCSFfidcsiDev0::ModifyForPatientEntry(), svkGEPFileMapperUCSFfidcsiDev0::ReadData(), svkVarianUCSFEPSI2DMapper::RedimensionData(), svkGEPFileMapper::RedimensionModifiedSVData(), svkImageData::RemoveArrays(), svkDcmHeader::RemoveDimensionIndex(), svkGEPFileMapper::ReorderEPSI(), svkMrsImageFlip::RequestData(), svkMrsApodizationFilter::RequestData(), svkMrsSingleVoxelSincExtraction::RequestData(), svkEPSIPhaseCorrect::RequestData(), svkMRSNoise::RequestData(), svkMriZeroFill::RequestData(), svkMRSKinetics::RequestData(), svkHSVD::RequestData(), svkMrsImageFFT::RequestDataSpatial(), svkMrsZeroFill::RequestDataSpatial(), svkMrsImageFFT::RequestDataSpectral(), svkMrsZeroFill::RequestDataSpectral(), svkDcmHeader::SetDimensionIndexSize(), svk4DImageData::SetImage(), svkMRSAutoPhase::SVKRequestDataPreExec(), svkDcmHeader::UpdateNumCoils(), svkDcmHeader::UpdateNumTimePoints(), and svkMRSAutoPhase::ValidateInput().

svkDcmHeader::DimensionIndexLabel GetDimensionLabelFromIndex ( svkDcmHeader::DimensionVector dimensionVector,
int  index 
)
static

Gets the Dimension label for the specified numeric index

void GetDimensionVectorIndexFromCellID ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionVector loopIndex,
int  cellID 
)
static
void GetDimensionVectorIndexFromFrame ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionVector loopIndex,
int  frame 
)
static
int GetDimensionVectorValue ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionIndexLabel  dimensionLabel 
)
static
int GetDimensionVectorValue ( svkDcmHeader::DimensionVector dimensionVector,
int  index 
)
static

Get the value of the specified dimension. The index starts at 2 for slice, the inner most loop in any DimensionVector.

virtual double GetDoubleSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to get an item's element from a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual double GetDoubleValue ( const char *  name)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

Referenced by svkDSCDeltaR2::RequestData().

virtual float GetFloatSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0,
int  pos = 0 
)
pure virtual

Method to get an item's element from a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmRawDataReader::ExtractFiles(), svkMrsImageData::GenerateSelectionBox(), svkMrsImageData::GetSelectionBoxDimensions(), svkMrsImageData::GetSelectionBoxSpacing(), and svkGEPFileMapperUCSF::InitSatBandsFromXML().

virtual void GetFloatSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
float *  values,
int  numValues,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to get an item's element from a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual float GetFloatValue ( const char *  name)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

Referenced by svkApodizationWindow::GetWindowResolution(), svkHSVD::RequestData(), and svkSpecPoint::SetDcmHeader().

virtual void GetFloatValue ( const char *  name,
float *  values,
long unsigned int  numValues 
)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

virtual int GetIntSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0,
int  pos = 0 
)
pure virtual

Method to get an item's element from a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Parameters
seqNamecamel case string name of DICOM field
seqItemPositionint value for sequence item in which element is found
elementNamecamel case string name of dicom field
parentSeqNameoptional camel case string name of parent DICOM sequence.
parentSeqItemPositionoptional int value for parent sequence item.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmRawDataReader::ExtractFiles(), svkDcmHeader::GetNumberOfFramesInDimension(), svkVoxelTaggingUtils::GetTagValue(), and svkMriImageData::GetVolumeIndexForFrame().

virtual int GetIntValue ( const char *  name)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

Referenced by svkEPSIReorder::CombineLobes(), svkDcmHeader::ConvertEnhancedMriToMriHeader(), svkGESigna5XReader::ExecuteInformation(), svkDcmHeader::GetCenterFromOrigin(), svkDICOMEnhancedMRIWriter::GetDataLength(), svkDICOMMRIWriter::GetDataLength(), svkUtils::GetDefaultSecondaryCaptureDirectory(), svkUCSFUtils::GetDICOMFileName(), svkIdfVolumeWriter::GetHeaderString(), svkImageData::GetImageCenter(), svkImageWriterFactory::GetNewSeriesFilePattern(), svkEPSIReorder::GetNumSamplesPerLobe(), svkDcmHeader::GetPixelDataType(), svkDICOMImageWriter::GetPixelRange(), svkImageData::GetSliceCenter(), svkGEPostageStampReader::InitDcmHeader(), svkDcmMriVolumeReader::InitDcmHeader(), svkBrukerDCMMRSReader::InitDcmHeader(), svkDcmHeader::InitDerivedMRIHeader(), svkMrsImageData::InitializeDataArrays(), svkApodizationWindow::InitializeWindow(), svkGEPFileMapper::InitK0Sampled(), svkDICOMEnhancedMRIWriter::InitPixelData(), svkDcmVolumeReader::InitSliceOrder(), svkGEPFileMapper::ModifyBehavior(), svkGEPFileMapperUCSFfidcsiDev0::ModifyForPatientEntry(), svkGEPFileMapperUCSFfidcsiDev0::ReadData(), svkVarianFidMapper::ReadFidFile(), svkVarianCSFidMapper::ReadFidFile(), svkPhilipsSMapper::ReadSDATFile(), svkHSVD::RemoveLipidOn(), svkVarianUCSFEPSI2DMapper::ReorderEPSIData(), svkAlgoTemplate::RequestData(), svkMrsImageFlip::RequestData(), svkMrsApodizationFilter::RequestData(), svkEPSIPhaseCorrect::RequestData(), svkMRSNoise::RequestData(), svkMrsZeroFill::RequestData(), svkHSVD::RequestData(), svkMrsZeroFill::RequestDataSpatial(), svkMrsZeroFill::RequestDataSpectral(), svkMrsZeroFill::RequestInformation(), svkVarianUCSFEPSI2DMapper::SetCellSpectrum(), svkVarianCSFidMapper::SetCellSpectrum(), svkPhilipsSMapper::SetCellSpectrum(), svkVarianFidMapper::SetCellSpectrum(), svkGEPFileMapper::SetCellSpectrum(), svkSpecPoint::SetDcmHeader(), svkImageReader2::SetupOutputExtent(), svkMRSAutoPhase::SVKRequestDataPreExec(), svkImageData::SyncVTKImageDataToDcmHeader(), svkDICOMMRIWriter::Write(), and svkDICOMSCWriter::Write().

virtual long int GetLongIntSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0,
int  pos = 0 
)
pure virtual

Method to get an item's element from a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Parameters
seqNamecamel case string name of DICOM field
seqItemPositionint value for sequence item in which element is found
elementNamecamel case string name of dicom field
parentSeqNameoptional camel case string name of parent DICOM sequence.
parentSeqItemPositionoptional int value for parent sequence item.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmRawDataReader::ExtractFiles().

void GetNormalVector ( double  normal[3])
int GetNumberOfCells ( svkDcmHeader::DimensionVector dimensionVector)
static
int GetNumberOfCoils ( )
int GetNumberOfDimensionIndices ( int  numTimePts,
int  numCoils 
)
static

Get the number of Dimension indices required for specifying the frame's slice, time, coil. See FrameContentSequence DimensionIndexValues

virtual int GetNumberOfElements ( const char *  elementName)
pure virtual

Returns the number of elements in the data set matching the specified elementName.

Implemented in svkDcmtkAdapter.

int GetNumberOfFrames ( svkDcmHeader::DimensionVector dimensionVector)
int GetNumberOfFramesInDimension ( int  dimensionIndex)

Gets the number of frames in the specified dimension. Iterates over each frame in the FrameContentSequence and gets the set of unique values for the specified dimensionIndex. This is therefore the dimension size of the specified index.

References svkDcmHeader::GetIntSequenceItemElement(), and svkDcmHeader::GetNumberOfFrames().

Referenced by svkMriImageData::GetVolumeIndexForFrame().

virtual int GetNumberOfItemsInSequence ( const char *  seqName)
pure virtual
virtual int GetNumberOfItemsInSequence ( const char *  seqName,
const char *  parentSeqName,
int  parentSeqItemPosition 
)
pure virtual

Returns the number of items in a nested sequence

Implemented in svkDcmtkAdapter.

int GetNumberOfSlices ( )
int GetNumberOfTimePoints ( )
int GetNumSpatialVoxels ( svkDcmHeader::DimensionVector dimensionVector)
static

Get the spatial dimensions from the DimensionVector. This is 1 more than the max value in each index: If this is a 2x2x1 data set, the max indices would be 1,1,0, but the spatial dimension would return 2,2,1.

References svkDcmHeader::GetSpatialDimensions().

Referenced by svkMRSAutoPhase::AutoPhaseExecute(), svkMRSZeroOrderPhase::FitPhase(), svkMRSFirstOrderPhase::FitPhase(), svkMRSFirstPointPhase::FitPhase(), and svkMRSAutoPhase::SVKRequestDataPreExec().

void GetOrientation ( double  orientation[2][3])

Get the DICOM orientation vectors (in plane vector in direction of row and column data) from the DICOM header.

References svkDcmHeader::WasModified().

Referenced by svkDcmHeader::GetDataDcos(), svkIdfVolumeWriter::GetHeaderString(), and svkDcmHeader::GetNormalVector().

int GetOrientationIndex ( svkDcmHeader::Orientation  orientation)

This method is used for determining the index of the dcos matrix that corresponds to the normal vector of a given user defined slice orientation in LPS coordinates.

Each row of the dcos represents the COLUMN, ROW, or SLICE dimension of the data as defined by the data ordering.

We are going to check them each sequentially to make sure that if two rows have the same magnitude in a given direction they are assigned to different slice view orientations.

EXAMPLE 1-------------------------------------------------------------------—

For example if we have the dcos:

                  LR        AP        SI

COLUMN INDEX       1         0         0 
ROW INDEX          0         1         0 
SLICE INDEX        0         0         1 

If user requests the index of a coronal view of the data:

int coronalIndex = GetOrientationIndex( svkDcmHeader::CORONAL )

First we will find the AXIAL direction. This is defined as the greatest absolute value in the SI column. It is clear that this is the SLICE INDEX. Second we search for the CORONAL direction– this is the greatest absolute value in the AP column and is clearly the COLUMN INDEX. Lastly we look for the SAGITTAL directions which is again clear and is the ROW INDEX Result: AXIAL index = 2 <– This is the data's orientation type CORONAL index = 1 SAGITTAL index = 0

And the method would return the value 1, for CORONAL

GetOrientationIndex( svkDcmHeader::CORONAL ) = 1;

EXAMPLE 2-------------------------------------------------------------------—

For Example if we have the dcos:

                  LR        AP        SI

COLUMN INDEX       0         1         0 
ROW INDEX          1         0         0 
SLICE INDEX        0         0         1 

If user requests the index of a sagittal view of the data:

int axialIndex = GetOrientationIndex( svkDcmHeader::AXIAL )

First we will find the AXIAL direction. This is defined as the greatest absolute value in the SI column. It is clear that this is the SLICE INDEX. Second we search for the CORONAL direction– this is the greatest absolute value in the AP column and is clearly the ROW INDEX. Lastly we look for the SAGITTAL directions which is again clear and is the COLUMN INDEX

Result:
    AXIAL    index = 2 <-- This is the data's orientation type
    CORONAL  index = 0
    SAGITTAL index = 1

And the method would return the value 2, for AXIAL

GetOrientationIndex( svkDcmHeader::AXIAL ) = 2;

EXAMPLE 3-------------------------------------------------------------------—

For Example if we have the dcos:

                   LR        AP        SI

COLUMN INDEX    0.7071    0.5000    0.5000
ROW INDEX            0    0.7071   -0.7071
SLICE INDEX    -0.7071    0.5000    0.5000

If user requests the index of a sagittal view of the data:

int coronalIndex = GetOrientationIndex( svkDcmHeader::CORONAL )

This case is of an image rotated 45 degrees in two dimensions. In this scenario the data is so oblique that defining AXIAL, SAGITTAL, and CORONAL is somewhat arbitrary.

First we will find the AXIAL direction. This is defined as the greatest absolute value in the SI column. In this case we would take the ROW INDEX and declare that the AXIAL direction. Next we would search for the CORONAL direction. The highest component in the AP direction is also the COLUMN INDEX, but we have already defined that as the AXIAL direction so we take the next highest which is the same for both the COLUMN and SLICE INDEX. In this case it is arbitrary, the method searches in the order ROW, COLUMN, SLICE and searches for values greater than or equal to so it would take the SLICE INDEX. Since the only INDEX left is the COLUMN INDEX that will be our SAGITTAL direction.

Result:
    AXIAL    index = 1 
    CORONAL  index = 2 <-- This is the data's orientation type
    SAGITTAL index = 0

And the method would return the value 0, for CORONAL

GetOrientationIndex( svkDcmHeader::CORONAL ) = 0;

Parameters
orientationthe view orientation you want to get the index of
Returns
the index, 0 is COLUMN, 1 is ROW, 2 is SLICE as defined by the data ordering.

References svkDcmHeader::AXIAL, svkDcmHeader::CORONAL, svkDcmHeader::GetDataDcos(), and svkDcmHeader::SAGITTAL.

Referenced by svkImageData::GetOrientationIndex(), and svkDcmHeader::GetOrientationType().

svkDcmHeader::Orientation GetOrientationType ( )
int GetOrigin ( double  origin[3],
int  sliceNumber = 0 
)
virtual int GetOriginalXFerSyntax ( )
pure virtual

Return the original xfer syntax for the loaded data.

Parameters
fileNamename of the output file root (no extension).

Returns 0 for success, 1 for failure.

Implemented in svkDcmtkAdapter.

void GetOriginFromCenter ( double  center[3],
int  numVoxels[3],
double  voxelSpacing[3],
double  dcos[3][3],
double  origin[3] 
)
static
long int GetPixelDataOffset ( string  fileName)
static
int GetPixelDataType ( int  vtkDataType = svkDcmHeader::UNDEFINED)

Get the format that specifies the word size and representation in the DICOM PixelData. 4Byte representations are ambiguous and can be float or int, thus the vtkDataType arg.

References svkDcmHeader::GetIntValue(), svkDcmHeader::SIGNED_FLOAT_4, svkDcmHeader::SIGNED_FLOAT_8, svkDcmHeader::SIGNED_INT_2, svkDcmHeader::UNSIGNED_INT_1, and svkDcmHeader::UNSIGNED_INT_2.

Referenced by svkDcmHeader::ConvertEnhancedMriToMriHeader(), svkIdfVolumeWriter::GetHeaderString(), svkDICOMImageWriter::GetPixelRange(), and svkDICOMImageWriter::GetScaledPixels().

void GetPixelSize ( double  size[3])
void GetPixelSpacing ( double  spacing[3])
virtual unsigned short GetPixelValue ( long unsigned int  position)
pure virtual

Method to get one value from a DICOM tag by specifying it's offset. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

short GetPixelValueAsShort ( long int  offsetToPixelData,
long int  pixelIndex,
string  fileName 
)
static
virtual int GetSequenceItemElementLength ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
const char *  parentSeqName,
int  parentSeqItemPosition 
)
pure virtual

Implemented in svkDcmtkAdapter.

Referenced by svkDcmRawDataReader::ExtractFiles().

virtual void GetShortValue ( const char *  name,
short *  values,
long unsigned int  numValues 
)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

virtual unsigned short GetShortValue ( const char *  name,
long unsigned int  position 
)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

int GetSliceForFrame ( int  frame)
int GetSpatialCellIDFromDimensionVectorIndex ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionVector loopIndex 
)
static
void GetSpatialDimensions ( svkDcmHeader::DimensionVector dimensionVector,
int *  numVoxels 
)
static

Get the spatial dimensions from the DimensionVector. This is 1 more than the max value in each index: If this is a 2x2x1 data set, the max indices would be 1,1,0, but the spatial dimension would return 2,2,1.

References svkDcmHeader::COL_INDEX, svkDcmHeader::ROW_INDEX, and svkDcmHeader::SLICE_INDEX.

Referenced by svk4DImageData::GetImage(), svkDcmHeader::GetNumSpatialVoxels(), svkDcmHeader::Redimension(), svkMrsImageFlip::RequestData(), and svk4DImageData::SetImage().

virtual string GetStringSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual
virtual string GetStringSequenceItemElement ( const char *  seqName,
int  seqItemPosition,
const char *  elementName,
int  pos,
const char *  parentSeqName = NULL,
int  parentSeqItemPosition = 0 
)
pure virtual

Method to get an item's element from a DICOM Sequence by specifying the SQ name and the item's position in the sequence. Optionally, for nested sequences specify the parent SQ and item number.

Implemented in svkDcmtkAdapter.

virtual string GetStringValue ( const char *  name)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

Referenced by svkDataValidator::AreDataCompatible(), svkDcmSegmentationVolumeReader::CanReadFile(), svkDcmRawDataReader::CanReadFile(), svkGEPostageStampReader::CanReadFile(), svkDcmMrsVolumeReader::CanReadFile(), svkDcmEnhancedVolumeReader::CanReadFile(), svkDcmMriVolumeReader::CanReadFile(), svkBrukerDCMMRSReader::CanReadFile(), svkDcmVolumeReader::ContainsProprietaryContent(), svkDcmHeader::ConvertEnhancedMriToMriHeader(), svkVoxelTaggingUtils::CreateVoxelTagData(), svkMrsImageData::EstimateDataRange(), svkStatistics::GetAutoAdjustedBinSize(), svkMrsImageData::GetClosestSlice(), svkUtils::GetDefaultSecondaryCaptureFilePattern(), svkUCSFUtils::GetDICOMFileName(), svkImageReader2::GetFileSeriesDescription(), svkDcmMriVolumeReader::GetFileType(), svkIdfVolumeWriter::GetHeaderString(), svkImageWriterFactory::GetNewSeriesFilePattern(), svkGEPFileMapper::GetNumDummyScans(), svkQuantifyMetabolites::GetRegionNameVector(), svkDcmHeader::InitDerivedMRIHeader(), svkDcmVolumeReader::InitFileNames(), svkApodizationWindow::InitializeWindow(), svkDICOMMRIWriter::InitPixelData(), svkGEPFileMapperUCSFfidcsiDev0::ModifyForPatientEntry(), svkQuantifyMetabolites::ModifyRegion(), svkMRSZeroOrderPhase::PrePhaseSetup(), svkMRSFirstPointPhase::PrePhaseSetup(), svkGEPFileMapperUCSFfidcsiDev0::ReadData(), svkVarianUCSFEPSI2DMapper::ReorderEPSIData(), svkMriImageFFT::RequestData(), svkImageThreshold::RequestData(), svkImageStatistics::RequestData(), svkMrsImageFFT::RequestDataSpatial(), svkVarianUCSFEPSI2DMapper::SetCellSpectrum(), svkVarianCSFidMapper::SetCellSpectrum(), svkPhilipsSMapper::SetCellSpectrum(), svkVarianFidMapper::SetCellSpectrum(), svkGEPFileMapper::SetCellSpectrum(), svkPlotGridView::SetInput(), svkPlotGridView::ShowView(), svkDICOMMRIWriter::Write(), and svkDICOMRawDataWriter::Write().

virtual string GetStringValue ( const char *  name,
int  pos 
)
pure virtual

Method to get a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

svkDcmHeader::DcmPixelDataFormat GetVtkDataTypeFromSvkDataType ( vtkIdType  vtkType)
static
int InitDerivedMRIHeader ( svkDcmHeader mri,
vtkIdType  dataType,
string  seriesDescription 
)
void InitGeneralSeriesModule ( string  seriesNumber,
string  seriesDescription,
string  patientPosition 
)
void InitGeneralStudyModule ( string  studyDate,
string  studyTime,
string  referringPhysiciansName,
string  studyID,
string  accessionNumber,
string  studyInstanceUID 
)
void InitImagePixelModule ( int  rows,
int  columns,
svkDcmHeader::DcmPixelDataFormat  dataType 
)
void InitImagePlaneModule ( string  imagePositionPatient,
string  pixelSpacing = "",
string  imageOrientationPatient = "",
string  sliceThickness = "" 
)

Initialize the ImagePlane Module. For single frame objects this may be called repeatedly changing only the value of the current instance ImagePositionPatient value.

References svkDcmHeader::SetValue().

Referenced by svkDcmHeader::ConvertEnhancedMriToMriHeader().

void InitMRAveragesMacro ( int  numAverages = 1)
void InitMREchoMacro ( float  TE = UNKNOWN_TIME)
void InitMRImageModule ( string  repetitionTime,
string  echoTime 
)

Initialize the MR Image Module.

References svkDcmHeader::SetValue().

Referenced by svkDcmHeader::ConvertEnhancedMriToMriHeader().

void InitMRImagingModifierMacro ( float  transmitFreq,
float  pixelBandwidth,
string  magTransfer = "NONE",
string  bloodNulling = "NO" 
)

Initialize MR Imaging Modifier Macro

References svkDcmHeader::AddSequenceItemElement().

Referenced by svkGESigna5XReader::InitMRImagingModifierMacro().

void InitMRModifierMacro ( float  inversionTime = UNKNOWN_TIME)
void InitMRTimingAndRelatedParametersMacro ( float  tr = UNKNOWN_TIME,
float  flipAngle = -999,
int  numEchoes = 1 
)
void InitMRTransmitCoilMacro ( string  coilMfg = "UNKNOWN",
string  coilName = "UNKNOWN",
string  coilType = "UNKNOWN" 
)
void InitMultiFrameDimensionModule ( svkDcmHeader::DimensionVector dimensionVector)

Generalized version of InitMultiFrameDimensionModule that adds an item to the sequence for each dimension type represented in the DimensionVector.

References svkDcmHeader::AddSequenceItemElement(), svkDcmHeader::ClearSequence(), and svkDcmHeader::DimensionIndexLabelToString().

Referenced by svkIOD::InitMultiFrameDimensionModule(), svkDcmHeader::InitPerFrameFunctionalGroupSequence(), and svkDcmHeader::Redimension().

void InitPatientModule ( string  PatientName,
string  patientID,
string  PatientBirthDate,
string  PatientSex 
)
void InitPerFrameFunctionalGroupSequence ( double  toplc[3],
double  voxelSpacing[3],
double  dcos[3][3],
svkDcmHeader::DimensionVector dimensionVector 
)
void InitPixelMeasuresMacro ( string  pixelSpacing,
string  sliceThickness 
)
void InitPixelValueTransformationMacro ( double  slope = 1.00000,
double  intercept = 0.00000 
)

Set the linear scaling factors in the Pixel Value Transformation Macro

References svkDcmHeader::AddSequenceItemElement().

Referenced by svkEnhancedMRIIOD::InitDcmHeader(), svkDICOMEnhancedMRIWriter::InitPixelData(), and svkDICOMMRIWriter::InitPixelData().

void InitPlaneOrientationMacro ( double  dcos[3][3])
void InitPlaneOrientationMacro ( string  orientationString)
void InitRawDataModule ( string  contentDate,
string  contentTime,
void *  rawFile 
)

Initialize Raw Data Module.

References svkDcmHeader::SetValue().

void InitVOILUTModule ( float  center,
float  width 
)

Set the linear scaling factors in the VOI LUT Module. These define the output range of pixel values to be displlayed.

References svkDcmHeader::SetValue().

Referenced by svkDICOMMRIWriter::InitPixelData().

void InitVolumeLocalizationSeq ( float  size[3],
float  center[3],
float  dcos[3][3] 
)

Initializes the Volume Localization Sequence in the MRSpectroscopy DICOM object for PRESS excitation.

References svkDcmHeader::AddSequenceItemElement(), and svkDcmHeader::InsertEmptyElement().

Referenced by svkMrsImageData::Redimension().

virtual void InsertEmptyElement ( const char *  name)
pure virtual
virtual void InsertUniqueUID ( const char *  name)
pure virtual
bool IsDimensionDefined ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionIndexLabel  indexType 
)
static

Set the value of the specified dimension.

Referenced by svkDcmHeader::AddDimensionIndex(), and svkDcmHeader::RemoveDimensionIndex().

bool IsFileDICOM ( string  fname)
static
void MakeDerivedDcmHeader ( svkDcmHeader headerCopy,
string  seriesDescription 
)

Initializes the input svkDcmHeader (the copy) from this. Also generates new seriesUID and instanceUID for the copy.

VTK doesn't support copy constructors, so this is a method.

Parameters
headerCopyheader object to copy current object into.

Method that copies a DICOM heder to the input (headerCopy). New instance UIDs are generated for SeriesInstanceUID, SOPInstanceUID, MediaStorageSOPInstanceUID. StudyInstanceuUID is preserved.

References svkDcmHeader::CopyDcmHeader(), svkDcmHeader::GenerateUniqueUID(), svkDcmHeader::InsertUniqueUID(), svkDcmHeader::SetSliceOrder(), and svkDcmHeader::SetValue().

Referenced by svkImageAlgorithmExecuter::RequestData(), svkDICOMEnhancedMRIWriter::Write(), and svkDICOMMRSWriter::Write().

void MakeDerivedDcmHeader ( string  seriesDescription = "")

Inplace version.

Method that updates the current DICOM heder. New instance UIDs are generated for SeriesInstanceUID, SOPInstanceUID, MediaStorageSOPInstanceUID. StudyInstanceuUID is preserved.

References svkDcmHeader::GenerateUniqueUID(), svkDcmHeader::InsertUniqueUID(), svkDcmHeader::SetSliceOrder(), and svkDcmHeader::SetValue().

virtual void ModifyValueRecursive ( const char *  name,
string  value 
)
pure virtual

Implemented in svkDcmtkAdapter.

Referenced by svkDcmHeader::Deidentify().

virtual void PrintDcmHeader ( )
pure virtual
virtual void PrintDcmHeader ( ostream &  os)
pure virtual

Implemented in svkDcmtkAdapter.

void PrintDimensionIndexVector ( svkDcmHeader::DimensionVector dimensionVector)
static
virtual int ReadDcmFile ( string  fileName,
unsigned int  max_length = 0 
)
pure virtual
virtual int ReadDcmFileHeaderOnly ( string  fileName)
pure virtual

Read only the DICOM header of the specified file name, not the data

Parameters
fileNamename of the output file root (no extension).

Returns 0 for success, 1 for failure.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmSegmentationVolumeReader::CanReadFile(), svkDcmMriVolumeReader::CanReadFile(), svkDcmEnhancedVolumeReader::CanReadFile(), svkDcmVolumeReader::InitFileNames(), and svkDcmVolumeReader::InitSliceOrder().

void Redimension ( svkDcmHeader::DimensionVector newDimensionVector)
void Redimension ( svkDcmHeader::DimensionVector dimensionVector,
double *  newToplcOrigin,
double *  newPixelSpacing 
)

Calls the Redimension method and then sets the origin and pixel spacing.

References svkDcmHeader::GetDataDcos(), svkDcmHeader::InitPerFrameFunctionalGroupSequence(), and svkDcmHeader::Redimension().

void RemoveDimensionIndex ( svkDcmHeader::DimensionIndexLabel  indexType)

Remove a dimension from Dimension Index Sequence, and reset the header to the new dimension. This is typically not a spatial dimension so the origin/toplc do not change

References svkDcmHeader::DimensionIndexLabelToString(), svkDcmHeader::GetDimensionIndexPosition(), svkDcmHeader::GetDimensionIndexVector(), svkDcmHeader::IsDimensionDefined(), and svkDcmHeader::Redimension().

Referenced by svkEPSIReorder::CombineLobes().

virtual void RemoveElement ( const char *  elementName)
pure virtual

Method to remove itm from dataset

Implemented in svkDcmtkAdapter.

Referenced by svkMrsImageFFT::RequestDataSpatial().

virtual void ReplaceOldElements ( bool  replaceElements)
pure virtual

determines whether insert new element statements replace existing values or not.

Implemented in svkDcmtkAdapter.

Referenced by svkIOD::SetReplaceOldElements().

void SetDcmPatientName ( string  PatientName)

Converts a string representation of a patient name to a DICOM VR = PN representation and sets the value in the DICOM header: "[lastName[^firstName[^middleName[^namePrefix[^nameSuffix]]]]"

Parameters
PatientNamespace delimited patient name string

References svkDcmHeader::GetDcmPatientName(), and svkDcmHeader::SetValue().

Referenced by svkGESigna5XReader::InitPatientModule().

void SetDimensionIndexSize ( svkDcmHeader::DimensionIndexLabel  indexType,
int  maxIndex 
)
void SetDimensionIndices ( unsigned int *  indexValues,
int  numFrameIndices,
int  sliceNum,
int  timePt,
int  coilNum,
int  numTimePts,
int  numCoils 
)
static

Get the Dimension Index Values for a set of indices

void SetDimensionVectorValue ( svkDcmHeader::DimensionVector dimensionVector,
int  index,
int  value 
)
static
void SetDimensionVectorValue ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionIndexLabel  indexType,
int  value 
)
static

Set the value of the specified dimension.

void SetPixelDataType ( DcmPixelDataFormat  dataType)

Set the format that specifies the word size and representation in the DICOM PixelData. Note that this represents the in-memory pixel representation and supports 8, 16 and 32 bit char, int and float representations. When writing to DICOM MRI only 8 and 16 bit ints are supported, so data may require scaling (see DICOM RescaleIntercept and RescaleSlope attributes).

References svkDcmHeader::SetValue(), svkDcmHeader::SIGNED_FLOAT_4, svkDcmHeader::SIGNED_FLOAT_8, svkDcmHeader::SIGNED_INT_2, svkDcmHeader::UNSIGNED_INT_1, and svkDcmHeader::UNSIGNED_INT_2.

Referenced by svkImageData::CastDataFormat(), svkImageData::CopyAndFillComponents(), svkVoxelTaggingUtils::CreateVoxelTagData(), svkFdfVolumeReader::ExecuteDataWithInformation(), svkDcmHeader::InitImagePixelModule(), svkDICOMEnhancedMRIWriter::InitPixelData(), svkDICOMMRIWriter::InitPixelData(), svkImageThreshold::RequestData(), and svkImageReader2::SetupOutputScalarData().

void SetSliceOrder ( DcmDataOrderingDirection  sliceOrderVal)
virtual void SetSOPClassUID ( DcmIodType  iodType)
pure virtual
virtual void SetValue ( const char *  name,
int  value 
)
pure virtual

Method to set a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

Referenced by svkDcmHeader::ConvertEnhancedMriToMriHeader(), svkVoxelTaggingUtils::CreateVoxelTagData(), svkDcmHeader::Deidentify(), svkLCModelCoordReader::ExecuteDataWithInformation(), svkDcmSegmentationVolumeReader::ExecuteInformation(), svkGEPostageStampReader::InitDcmHeader(), svkDcmMriVolumeReader::InitDcmHeader(), svkBrukerDCMMRSReader::InitDcmHeader(), svkGESigna5XReader::InitDcmHeader(), svkDcmHeader::InitDerivedMRIHeader(), svkIOD::InitEnhancedGeneralEquipmentModule(), svkGEPFileMapper::InitEnhancedGeneralEquipmentModule(), svkGESigna5XReader::InitEnhancedGeneralEquipmentModule(), svkGESigna5XReader::InitEnhancedMRImageModule(), svkGEPFileMapper::InitFrameOfReferenceModule(), svkPhilipsSMapper::InitGeneralEquipmentModule(), svkVarianFidMapper::InitGeneralEquipmentModule(), svkIOD::InitGeneralEquipmentModule(), svkGEPFileMapper::InitGeneralEquipmentModule(), svkGESigna5XReader::InitGeneralEquipmentModule(), svkIOD::InitGeneralSeriesModule(), svkGESigna5XReader::InitGeneralSeriesModule(), svkDcmHeader::InitGeneralSeriesModule(), svkGESigna5XReader::InitGeneralStudyModule(), svkDcmHeader::InitGeneralStudyModule(), svkImageAlgorithmPipeline::InitializeAlgorithmForTag(), svkPhilipsSMapper::InitializeDcmHeader(), svkVarianFidMapper::InitializeDcmHeader(), svkSCIOD::InitImagePixelModule(), svkIOD::InitImagePixelModule(), svkDcmHeader::InitImagePixelModule(), svkDcmHeader::InitImagePlaneModule(), svkGEPFileMapper::InitK0Sampled(), svkGESigna5XReader::InitMRFOVGeometryMacro(), svkGESigna5XReader::InitMRImageAndSpectroscopyInstanceMacro(), svkGESigna5XReader::InitMRImageFrameTypeMacro(), svkMRIIOD::InitMRImageModule(), svkDcmHeader::InitMRImageModule(), svkGESigna5XReader::InitMRPulseSequenceModule(), svkIOD::InitMRSeriesModule(), svkMRSIOD::InitMRSpectroscopyDataModule(), svkVarianUCSFEPSI2DMapper::InitMRSpectroscopyDataModule(), svkVarianCSFidMapper::InitMRSpectroscopyDataModule(), svkPhilipsSMapper::InitMRSpectroscopyDataModule(), svkVarianFidMapper::InitMRSpectroscopyDataModule(), svkGEPFileMapper::InitMRSpectroscopyDataModule(), svkMRSIOD::InitMRSpectroscopyModule(), svkVarianUCSFEPSI2DMapper::InitMRSpectroscopyModule(), svkVarianCSFidMapper::InitMRSpectroscopyModule(), svkPhilipsSMapper::InitMRSpectroscopyModule(), svkVarianFidMapper::InitMRSpectroscopyModule(), svkGEPFileMapperUCSFfidcsiDev0::InitMRSpectroscopyModule(), svkGEPFileMapper::InitMRSpectroscopyModule(), svkVarianUCSF2DcsiMapper::InitMRSpectroscopyPulseSequenceModule(), svkVarianUCSFEPSI2DMapper::InitMRSpectroscopyPulseSequenceModule(), svkVarianCSFidMapper::InitMRSpectroscopyPulseSequenceModule(), svkGEPFileMapper::InitMRSpectroscopyPulseSequenceModule(), svkIOD::InitMultiFrameDimensionModule(), svkVarianUCSFEPSI2DMapper::InitMultiFrameFunctionalGroupsModule(), svkPhilipsSMapper::InitMultiFrameFunctionalGroupsModule(), svkVarianFidMapper::InitMultiFrameFunctionalGroupsModule(), svkVarianCSFidMapper::InitMultiFrameFunctionalGroupsModule(), svkIOD::InitMultiFrameFunctionalGroupsModule(), svkGEPFileMapper::InitMultiFrameFunctionalGroupsModule(), svkGESigna5XReader::InitMultiFrameFunctionalGroupsModule(), svkGESigna5XReader::InitPatientModule(), svkDcmHeader::InitPatientModule(), svkDcmHeader::InitPerFrameFunctionalGroupSequence(), svkDICOMEnhancedMRIWriter::InitPixelData(), svkDICOMMRIWriter::InitPixelData(), svkDcmHeader::InitRawDataModule(), svkSCIOD::InitSCEquipmentModule(), svkDcmHeader::InitVOILUTModule(), svkDcmHeader::MakeDerivedDcmHeader(), svkGEPFileMapper::ModifyBehavior(), svkDcmHeader::Redimension(), svkVarianUCSFEPSI2DMapper::RedimensionData(), svkDynamicImageMap::RequestData(), svkDynamicMRIAlgoTemplate::RequestData(), svkMriZeroFill::RequestData(), svkMetaboliteRatioZScores::RequestData(), svkMRSKinetics::RequestData(), svkImageThreshold::RequestData(), svkMetaboliteMap::RequestData(), svkHSVD::RequestData(), svkMrsImageFFT::RequestDataSpatial(), svkMrsZeroFill::RequestDataSpatial(), svkMrsZeroFill::RequestDataSpectral(), svkMrsImageFFT::RequestDataSpectral(), svkDcmHeader::SetDcmPatientName(), svkMRSAutoPhase::SetMapSeriesDescription(), svkDcmHeader::SetPixelDataType(), svkDICOMMRIWriter::Write(), svkDICOMRawDataWriter::Write(), and svkDICOMSCWriter::Write().

virtual void SetValue ( const char *  name,
float  value 
)
pure virtual

Method to set a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

virtual void SetValue ( const char *  name,
double  value 
)
pure virtual

Method to set a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Implemented in svkDcmtkAdapter.

virtual void SetValue ( const char *  name,
string  value,
bool  setMetaInfo = false 
)
pure virtual

Method to set a DICOM tag by specifying it's name and value. The name should be the string representation of the field in the DICOM dictionary being used.

Parameters
setMetaInfo,setdataset or metaInfo if true.

Implemented in svkDcmtkAdapter.

virtual void SetValue ( const char *  name,
unsigned char *  values,
int  numValues 
)
pure virtual

Sets the array of value for a given tag.

Parameters
namethe name of the tag whose value you wish to set
valuesthe pointer to the array of values you wish the tag to have
numValuesthe number of elements in the array of values

Implemented in svkDcmtkAdapter.

virtual void SetValue ( const char *  name,
unsigned short *  values,
int  numValues 
)
pure virtual

Sets the array of value for a given tag.

Parameters
namethe name of the tag whose value you wish to set
valuesthe pointer to the array of values you wish the tag to have
numValuesthe number of elements in the array of values

Implemented in svkDcmtkAdapter.

virtual void SetValue ( const char *  name,
signed short *  values,
int  numValues 
)
pure virtual

Sets the array of value for a given tag.

Parameters
namethe name of the tag whose value you wish to set
valuesthe pointer to the array of values you wish the tag to have
numValuesthe number of elements in the array of values

Implemented in svkDcmtkAdapter.

virtual void SetValue ( const char *  name,
float *  values,
int  numValues 
)
pure virtual

Sets the array of value for a given tag.

Parameters
namethe name of the tag whose value you wish to set
valuesthe pointer to the array of values you wish the tag to have
numValuesthe number of elements in the array of values

Implemented in svkDcmtkAdapter.

svkDcmHeader::DimensionIndexLabel StringToDimensionIndexLabel ( string  dimensionIndexLabelString)
static

Convert between stirng and svkDcmHeader::DimensionIndexLabel These are the string representations of the DICOM DimensionIndexLabel attribute.

References svkDcmHeader::CHANNEL_INDEX, svkDcmHeader::EPSI_ACQ_INDEX, svkDcmHeader::SLICE_INDEX, and svkDcmHeader::TIME_INDEX.

void SwapDimensionIndexLabels ( svkDcmHeader::DimensionVector dimensionVector,
svkDcmHeader::DimensionIndexLabel  label1,
svkDcmHeader::DimensionIndexLabel  label2 
)
static

Swaps the specified dimension index labels

References svkDcmHeader::GetDimensionVectorValue(), and svkDcmHeader::PrintDimensionIndexVector().

void UpdateNumCoils ( )
void UpdateNumTimePoints ( )
vtkTypeMacro ( svkDcmHeader  ,
vtkObject   
)
bool WasModified ( )
protected
virtual void WriteDcmFile ( string  fileName)
pure virtual

Writes the DICOM file to the specified file name

Parameters
fileNamename of the output file root (no extension).

Implemented in svkDcmtkAdapter.

Referenced by svkDICOMEnhancedMRIWriter::Write(), svkDICOMMRSWriter::Write(), and svkDICOMRawDataWriter::Write().

virtual void WriteDcmFileCompressed ( string  fileName)
pure virtual

Writes the DICOM file to the specified file name and using RLE lossless compression transfer syntax

Parameters
fileNamename of the output file root (no extension).

Implemented in svkDcmtkAdapter.

Member Data Documentation

const string UNKNOWN_STRING = "UNKNOWN"
static
const float UNKNOWN_TIME = -1
static

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