Package com.pixelmed.dicom
Class VOITransform
- java.lang.Object
-
- com.pixelmed.dicom.VOITransform
-
public class VOITransform extends java.lang.Object
A transformation constructed from a DICOM attribute list that extracts those attributes that define the VOI LUT transformation, specifically the window center and width attributes.
Looks first for a per-frame functional group FrameVOILUTSequence then looks in the shared functional groups, otherwise tries to find the Window Center and Width values in the top level of the dataset.
Note that multiple transformations (for each frame) may be present and are supported (specifically, Window Center and Width are multi-valued attributes).
-
-
Constructor Summary
Constructors Constructor Description VOITransform(AttributeList list)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getBitsPerEntry(int frame, int transform)
Get the number of bits per LUT entry of the particular transform available for a particular frame.double
getCenter(int frame, int transform)
Get the window center of the particular transform available for a particular frame.int
getEntryMaximum(int frame, int transform)
Get the maximum LUT entry value of the particular transform available for a particular frame.int
getEntryMinimum(int frame, int transform)
Get the minimum LUT entry value of the particular transform available for a particular frame.java.lang.String
getExplanation(int frame, int transform)
Get the explanation of a particular transform available for a particular frame.int
getFirstValueMapped(int frame, int transform)
Get the first value mapped of the particular transform available for a particular frame.short[]
getLUTData(int frame, int transform)
Get the LUT data of the particular transform available for a particular frame.int
getNumberOfEntries(int frame, int transform)
Get the number of LUT entries of the particular transform available for a particular frame.int
getNumberOfTransforms(int frame)
Get the number of transforms available for a particular frame.int
getTopOfEntryRange(int frame, int transform)
Get the top of the LUT entry range of values of the particular transform available for a particular frame.protected com.pixelmed.dicom.VOITransform.SingleVOITransforms
getTransformsForFrame(int frame)
Get the transforms available for a particular frame.double
getWidth(int frame, int transform)
Get the window width of the particular transform available for a particular frame.boolean
isLUTTransform(int frame, int transform)
Is the particular transform for a particular frame a LUT transformation.boolean
isWindowTransform(int frame, int transform)
Is the particular transform for a particular frame a window transformation.java.lang.String
toString()
-
-
-
Constructor Detail
-
VOITransform
public VOITransform(AttributeList list)
- Parameters:
list
-
-
-
Method Detail
-
getTransformsForFrame
protected com.pixelmed.dicom.VOITransform.SingleVOITransforms getTransformsForFrame(int frame)
Get the transforms available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specific- Returns:
- the transforms available for the frame, null if none
-
getNumberOfTransforms
public int getNumberOfTransforms(int frame)
Get the number of transforms available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specific- Returns:
- the number of transforms available for the frame, 0 if none
-
isWindowTransform
public boolean isWindowTransform(int frame, int transform)
Is the particular transform for a particular frame a window transformation.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specific- Returns:
- true if is a window transform
-
isLUTTransform
public boolean isLUTTransform(int frame, int transform)
Is the particular transform for a particular frame a LUT transformation.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specific- Returns:
- true if is a LUT transform
-
getWidth
public double getWidth(int frame, int transform)
Get the window width of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the window width, or 0 if none
-
getCenter
public double getCenter(int frame, int transform)
Get the window center of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the window center, or 0 if none
-
getNumberOfEntries
public int getNumberOfEntries(int frame, int transform)
Get the number of LUT entries of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the number of LUT entries, or 0 if none
-
getFirstValueMapped
public int getFirstValueMapped(int frame, int transform)
Get the first value mapped of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the first value mapped, or 0 if none
-
getBitsPerEntry
public int getBitsPerEntry(int frame, int transform)
Get the number of bits per LUT entry of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the number of bits per LUT entry, or 0 if none
-
getEntryMinimum
public int getEntryMinimum(int frame, int transform)
Get the minimum LUT entry value of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the minimum LUT entry value, or 0 if none
-
getEntryMaximum
public int getEntryMaximum(int frame, int transform)
Get the maximum LUT entry value of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the maximum LUT entry value, or 0 if none
-
getTopOfEntryRange
public int getTopOfEntryRange(int frame, int transform)
Get the top of the LUT entry range of values of the particular transform available for a particular frame. This is the lowest power of two minus one that is greater than or equally to the maximum LUT entry value, and less than or equal to the maximum specified by bits per entry.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the top of the LUT entry range, or 0 if none
-
getLUTData
public short[] getLUTData(int frame, int transform)
Get the LUT data of the particular transform available for a particular frame.- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the LUT data, or null if none
-
getExplanation
public java.lang.String getExplanation(int frame, int transform)
Get the explanation of a particular transform available for a particular frame.
The explanation is derived from WindowCenterWidthExplanation.
- Parameters:
frame
- numbered from zero; needed to select which transform if frame-specifictransform
- numbered from zero; needed to select which transform if more than one for that frame- Returns:
- the explanation, or zero length string if none
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-