public abstract class DescriptionFactory
extends java.lang.Object
A class of static methods to provide descriptions of images, including image orientation relative to the patient from the mathematical position and orientation attributes, and including other descriptive attributes such as from dicom directory records and images using multi-frame functional groups.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AXIAL_LABEL |
static java.lang.String |
CORONAL_LABEL |
static java.lang.String |
OBLIQUE_LABEL |
static java.lang.String |
SAGITTAL_LABEL |
Constructor and Description |
---|
DescriptionFactory() |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
getMajorAxisFromPatientRelativeDirectionCosine(double x,
double y,
double z)
Get a label describing the major axis from a unit vector (direction cosine) as found in ImageOrientationPatient.
|
static java.lang.String |
makeImageDescription(AttributeList list)
Get a human readable string meaningfully describing an image from an attribute list such as from a directory record.
|
static java.lang.String |
makeImageDescription(java.util.Map attributes)
Get a human readable string meaningfully describing an image from a map of names and values such as from a database.
|
static java.lang.String |
makeImageOrientationLabelFromImageOrientationPatient(Attribute aImageOrientationPatient)
Get a label describing the axial, coronal or sagittal plane from row and column unit vectors (direction cosines) in ImageOrientationPatient.
|
static java.lang.String |
makeImageOrientationLabelFromImageOrientationPatient(AttributeList list)
Get a label describing the axial, coronal or sagittal plane from row and column unit vectors (direction cosines) found in ImageOrientationPatient in the supplied AttributeList.
|
static java.lang.String |
makeImageOrientationLabelFromImageOrientationPatient(double rowX,
double rowY,
double rowZ,
double colX,
double colY,
double colZ)
Get a label describing the axial, coronal or sagittal plane from row and column unit vectors (direction cosines) as found in ImageOrientationPatient.
|
static java.lang.String |
makePatientDescription(java.util.Map attributes)
Get a human readable string meaningfully describing a patient from an attribute list such as from a database or directory record.
|
static java.lang.String |
makePatientOrientationFromImageOrientationPatient(double rowX,
double rowY,
double rowZ,
double colX,
double colY,
double colZ)
Get a PatientOrientation style string from row and column unit vectors (direction cosines) as found in ImageOrientationPatient.
|
static java.lang.String |
makePatientOrientationFromPatientRelativeDirectionCosine(double x,
double y,
double z)
Get a PatientOrientation style string from a unit vector (direction cosine) as found in ImageOrientationPatient.
|
static java.lang.String |
makeSeriesDescription(AttributeList list)
Get a human readable string meaningfully describing a series from an attribute list such as from a directory record.
|
static java.lang.String |
makeSeriesDescription(java.util.Map attributes)
Get a human readable string meaningfully describing a series from an attribute list such as from a directory record.
|
public static final java.lang.String AXIAL_LABEL
public static final java.lang.String CORONAL_LABEL
public static final java.lang.String OBLIQUE_LABEL
public static final java.lang.String SAGITTAL_LABEL
public static final java.lang.String getMajorAxisFromPatientRelativeDirectionCosine(double x, double y, double z)
Get a label describing the major axis from a unit vector (direction cosine) as found in ImageOrientationPatient.
Some degree of deviation from one of the standard orthogonal axes is allowed before deciding no major axis applies and returning null.
x
- x component between -1 and 1y
- y component between -1 and 1z
- z component between -1 and 1public static final java.lang.String makeImageDescription(AttributeList list)
Get a human readable string meaningfully describing an image from an attribute list such as from a directory record.
This version is heavily tuned to describe MR multiframe images thoroughly.
list
- the list of attributes (such as from an IMAGE level directory record)public static final java.lang.String makeImageDescription(java.util.Map attributes)
Get a human readable string meaningfully describing an image from a map of names and values such as from a database.
This version is heavily tuned to describe MR multiframe images thoroughly.
attributes
- the map of upper case named attributes and their values (such as from a database query)public static final java.lang.String makeImageOrientationLabelFromImageOrientationPatient(Attribute aImageOrientationPatient)
Get a label describing the axial, coronal or sagittal plane from row and column unit vectors (direction cosines) in ImageOrientationPatient.
Some degree of deviation from one of the standard orthogonal planes is allowed before deciding the plane is OBLIQUE.
aImageOrientationPatient
- attribute containing the patient-relative orientationpublic static final java.lang.String makeImageOrientationLabelFromImageOrientationPatient(AttributeList list)
Get a label describing the axial, coronal or sagittal plane from row and column unit vectors (direction cosines) found in ImageOrientationPatient in the supplied AttributeList.
Some degree of deviation from one of the standard orthogonal planes is allowed before deciding the plane is OBLIQUE.
list
- list of attributes containing ImageOrientationPatientpublic static final java.lang.String makeImageOrientationLabelFromImageOrientationPatient(double rowX, double rowY, double rowZ, double colX, double colY, double colZ)
Get a label describing the axial, coronal or sagittal plane from row and column unit vectors (direction cosines) as found in ImageOrientationPatient.
Some degree of deviation from one of the standard orthogonal planes is allowed before deciding the plane is OBLIQUE.
rowX
- row x component between -1 and 1rowY
- row y component between -1 and 1rowZ
- row z component between -1 and 1colX
- column x component between -1 and 1colY
- column y component between -1 and 1colZ
- column z component between -1 and 1public static final java.lang.String makePatientDescription(java.util.Map attributes)
Get a human readable string meaningfully describing a patient from an attribute list such as from a database or directory record.
attributes
- the map of upper case named attributes and their values (such as from a database query)public static final java.lang.String makePatientOrientationFromImageOrientationPatient(double rowX, double rowY, double rowZ, double colX, double colY, double colZ)
Get a PatientOrientation style string from row and column unit vectors (direction cosines) as found in ImageOrientationPatient.
Returns letters representing R (right) or L (left), A (anterior) or P (posterior), F (feet) or H (head).
If the orientation is not precisely orthogonal to one of the major axes, more than one letter is returned, from major to minor axes, with up to three letters in the case of a "double oblique".
The row and column letters returned are separated by the usual DICOM string delimiter, a backslash.
rowX
- row x component between -1 and 1rowY
- row y component between -1 and 1rowZ
- row z component between -1 and 1colX
- column x component between -1 and 1colY
- column y component between -1 and 1colZ
- column z component between -1 and 1public static final java.lang.String makePatientOrientationFromPatientRelativeDirectionCosine(double x, double y, double z)
Get a PatientOrientation style string from a unit vector (direction cosine) as found in ImageOrientationPatient.
Returns letters representing R (right) or L (left), A (anterior) or P (posterior), F (feet) or H (head).
If the orientation is not precisely orthogonal to one of the major axes, more than one letter is returned, from major to minor axes, with up to three letters in the case of a "double oblique".
x
- x component between -1 and 1y
- y component between -1 and 1z
- z component between -1 and 1public static final java.lang.String makeSeriesDescription(AttributeList list)
Get a human readable string meaningfully describing a series from an attribute list such as from a directory record.
list
- the list of attributes (such as from a SERIES level directory record)public static final java.lang.String makeSeriesDescription(java.util.Map attributes)
Get a human readable string meaningfully describing a series from an attribute list such as from a directory record.
attributes
- the map of upper case named attributes and their values (such as from a database query)