IMHOTEP Framework
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Pages
Public Member Functions | Properties | List of all members
DICOMSeries Class Reference

Public Member Functions

 DICOMSeries (string directory, string seriesUID)
 
string getDescription ()
 
void setMinMaxPixelValues (UInt32 min, UInt32 max)
 

Properties

int numberOfSlices [get, set]
 
VectorString filenames [get, set]
 
string seriesUID [get, set]
 
Image firstSlice [get, set]
 
Image lastSlice [get, set]
 
SliceOrientation sliceOrientation [get, set]
 
Vector3 sliceOffset [get, set]
 
UInt32 minPixelValue [get, set]
 
UInt32 maxPixelValue [get, set]
 
bool foundMinMaxPixelValues [get, set]
 
Vector3 directionCosineX [get, set]
 
Vector3 directionCosineY [get, set]
 
bool isConsecutiveVolume [get, set]
 
Vector3 sliceNormal [get, set]
 

Detailed Description

Information needed for a DICOM series.

Note
This class assumes that a single series is made up of a single volume (or single slice). This means that the direction cosines for each image in the volume are assumed to be the same.
This class assumes that the spacing in the series is the same between each pair of adjacent slices.

Definition at line 20 of file DICOMSeries.cs.

Constructor & Destructor Documentation

DICOMSeries.DICOMSeries ( string  directory,
string  seriesUID 
)
inline

Constructor, fills most of the attributes of the DICOMSeries class.

Note
This does some heavy file/directory parsing to determine the files which are part of this series and their order. This is why the DICOMSeries should be constructed in a background thread and then passed to the main thread.

Definition at line 90 of file DICOMSeries.cs.

Member Function Documentation

string DICOMSeries.getDescription ( )
inline

Get a human readable description of this series

Definition at line 194 of file DICOMSeries.cs.

void DICOMSeries.setMinMaxPixelValues ( UInt32  min,
UInt32  max 
)
inline

If header did not contain information about minimum/maximum pixel values, this can be used to set them.

Note
Should only be called once. Will be called when the first slice of this series is loaded.

Definition at line 265 of file DICOMSeries.cs.

Property Documentation

Vector3 DICOMSeries.directionCosineX
getset

The direction cosine of a row of this image. This can be thought of as a unit-length vector pointing into the direction in which the row lies inside the patient coordinate system (i.e. when you walk along the row in 2D, in which direction would you walk in the patient coordinate system). See the DICOM standard for more information, or search online for "direction cosine".

Definition at line 71 of file DICOMSeries.cs.

Vector3 DICOMSeries.directionCosineY
getset

The direction cosine of a column of this image. This can be thought of as a unit-length vector pointing into the direction in which the column lies inside the patient coordinate system (i.e. when you walk along the column in 2D, in which direction would you walk in the patient coordinate system). See the DICOM standard for more information, or search online for "direction cosine".

Definition at line 77 of file DICOMSeries.cs.

VectorString DICOMSeries.filenames
getset

All files associated with this series.

Definition at line 25 of file DICOMSeries.cs.

Image DICOMSeries.firstSlice
getset

The first image in the series.

Definition at line 30 of file DICOMSeries.cs.

bool DICOMSeries.foundMinMaxPixelValues
getset

True if the minPixelValue and maxPixelValue have been found or calculated, false otherwise.

Definition at line 61 of file DICOMSeries.cs.

bool DICOMSeries.isConsecutiveVolume
getset

True if there are multiple slices and the first and last slice have the same orientation, false otherwise.

Definition at line 80 of file DICOMSeries.cs.

Image DICOMSeries.lastSlice
getset

The last image in the series.

Definition at line 32 of file DICOMSeries.cs.

UInt32 DICOMSeries.maxPixelValue
getset

Maximal pixel value of first slice

Note
If possible, this is read from the DICOM header of the first slice. However, this value may not be present, in which case this is filled when a slice/volume is first loaded (by checking all pixel values and finding the maximum).

Definition at line 58 of file DICOMSeries.cs.

UInt32 DICOMSeries.minPixelValue
getset

Minimal pixel value of first slice

Note
If possible, this is read from the DICOM header of the first slice. However, this value may not be present, in which case this is filled when a slice/volume is first loaded (by checking all pixel values and finding the minimum).

Definition at line 53 of file DICOMSeries.cs.

int DICOMSeries.numberOfSlices
getset

The number of slices (i.e. number of files) for this series.

Definition at line 23 of file DICOMSeries.cs.

string DICOMSeries.seriesUID
getset

A unique ID (see the DICOM standard) which identifies this series.

Definition at line 27 of file DICOMSeries.cs.

Vector3 DICOMSeries.sliceNormal
getset

The plane normal of the slices in this series (result of cross vector of the direction cosines).

Definition at line 84 of file DICOMSeries.cs.

Vector3 DICOMSeries.sliceOffset
getset

Assuming this series is a volume of consecutive slices, where neighbouring slices always have the same offset between each other, this offset is stored in sliceOffset. For 2D slices, this is zero.

Definition at line 47 of file DICOMSeries.cs.

SliceOrientation DICOMSeries.sliceOrientation
getset

Approximate slice orientation of the slices in this series. Returns coronal, saggital or transverse depending on which way the normal of the slices is facing.

Note
This is only an approximation. "Intermediate" orientations are "rounded" to the nearest orientation. This means that, for example, if a series is a transverse series then this function will correctly return "transverse". However, if it is slightly tilted away from the transverse orientation, this will still return transverse.

Definition at line 42 of file DICOMSeries.cs.


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