MeVisLab Toolbox Reference
ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking Class Reference

Tool class to retrieve the values of HightBit, BitsAllocated, BitsStored, and PixelRepresentation from dcmTree and to set needsCorrection to true if pixel data needs post processing such as masking of retired overlay planes, sign extension, or shifting. More...

#include <mlDicomPixelDataProcessingTools.h>

Public Member Functions

 NeedsSignednessCorrectionShiftingOrMasking (DCMTree::Const_TreePtr dcmTree)
 Perform masking of retired overlay planes, sign extension, and shifting if necessary; for non-applicable IODs the tag values are not retrieved (e.g. More...
 
void print (std::ostream &ostr)
 Print structure members into ostr. More...
 
void correctIfNecessary (MLDataType dType, size_t numVoxels, void *dataPtr)
 Applies masking, shifting, and sign extension of DICOM pixel data if required according to upper members; does nothing if not applicable due to incorrect data type, nullptr dataPtr etc. More...
 

Public Attributes

bool needsCorrection
 Set to true if any processing on pixel data is required, otherwise false after construction. More...
 
int highBit
 After construction the values of the corresponding tags in dcmTree or 0 if not retrievable or retrieved; for non-applicable IODs the tag values are not retrieved (e.g. More...
 
int bitsAllocated
 
int bitsStored
 
int pixelRepresentation
 

Detailed Description

Tool class to retrieve the values of HightBit, BitsAllocated, BitsStored, and PixelRepresentation from dcmTree and to set needsCorrection to true if pixel data needs post processing such as masking of retired overlay planes, sign extension, or shifting.

Members should not be modified any more after construction.

Definition at line 33 of file mlDicomPixelDataProcessingTools.h.

Constructor & Destructor Documentation

◆ NeedsSignednessCorrectionShiftingOrMasking()

ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::NeedsSignednessCorrectionShiftingOrMasking ( DCMTree::Const_TreePtr  dcmTree)

Perform masking of retired overlay planes, sign extension, and shifting if necessary; for non-applicable IODs the tag values are not retrieved (e.g.

for SEG, REG or so).

Member Function Documentation

◆ correctIfNecessary()

void ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::correctIfNecessary ( MLDataType  dType,
size_t  numVoxels,
void *  dataPtr 
)

Applies masking, shifting, and sign extension of DICOM pixel data if required according to upper members; does nothing if not applicable due to incorrect data type, nullptr dataPtr etc.

Parameters
dTypeThe MLDataType of dataPtr.
numVoxelsThe number of voxels in dataPtr.
dataPtrThe pointer to pixel data.

◆ print()

void ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::print ( std::ostream &  ostr)

Print structure members into ostr.

Member Data Documentation

◆ bitsAllocated

int ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::bitsAllocated

Definition at line 57 of file mlDicomPixelDataProcessingTools.h.

◆ bitsStored

int ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::bitsStored

Definition at line 58 of file mlDicomPixelDataProcessingTools.h.

◆ highBit

int ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::highBit

After construction the values of the corresponding tags in dcmTree or 0 if not retrievable or retrieved; for non-applicable IODs the tag values are not retrieved (e.g.

for SEG, REG or so).

Definition at line 56 of file mlDicomPixelDataProcessingTools.h.

◆ needsCorrection

bool ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::needsCorrection

Set to true if any processing on pixel data is required, otherwise false after construction.

Definition at line 63 of file mlDicomPixelDataProcessingTools.h.

◆ pixelRepresentation

int ml::DicomToMLTools::NeedsSignednessCorrectionShiftingOrMasking::pixelRepresentation

Definition at line 59 of file mlDicomPixelDataProcessingTools.h.


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