Class FunctionalGroupUtilities


  • public class FunctionalGroupUtilities
    extends java.lang.Object

    A class contain useful methods for manipulating Functional Group Sequences.

    • Constructor Detail

      • FunctionalGroupUtilities

        public FunctionalGroupUtilities()
    • Method Detail

      • createSharedFunctionalGroupsIfNotPresent

        public static AttributeList createSharedFunctionalGroupsIfNotPresent​(AttributeList list)

        Create shared functional group sequences if not already present.

        Parameters:
        list - an existing (possibly empty) attribute list, if null, a new one will be created; may already shared and per-frame functional group sequences or they will be added
        Returns:
        attribute list with empty per-frame and shared functional group sequences added
      • createFunctionalGroupsIfNotPresent

        public static AttributeList createFunctionalGroupsIfNotPresent​(AttributeList list,
                                                                       int numberOfFrames)

        Create shared and per-frame functional group sequences if not already present.

        Parameters:
        list - an existing (possibly empty) attribute list, if null, a new one will be created; may already shared and per-frame functional group sequences or they will be added
        numberOfFrames - number of frames
        Returns:
        attribute list with empty per-frame and shared functional group sequences added
      • generatePixelValueTransformationFunctionalGroup

        public static AttributeList generatePixelValueTransformationFunctionalGroup​(AttributeList list,
                                                                                    int numberOfFrames,
                                                                                    double rescaleSlope,
                                                                                    double rescaleIntercept,
                                                                                    java.lang.String rescaleType)
                                                                             throws DicomException

        Insert a shared functional group sequence Pixel Value Transformation Sequence entry.

        Parameters:
        list - an existing (possibly empty) attribute list, if null, a new one will be created; may already shared and per-frame functional group sequences or they will be added
        numberOfFrames - number of frames
        rescaleSlope - rescale slope
        rescaleIntercept - rescale intercept
        rescaleType - rescale type
        Returns:
        attribute list with per-frame and shared functional group sequences for VOI added
        Throws:
        DicomException - if error in DICOM encoding
      • generateVOILUTFunctionalGroup

        public static AttributeList generateVOILUTFunctionalGroup​(AttributeList list,
                                                                  int numberOfFrames,
                                                                  double windowWidth,
                                                                  double windowCenter,
                                                                  java.lang.String voiLUTFunction)
                                                           throws DicomException

        Insert a shared functional group sequence Frame VOI LUT Sequence entry.

        Parameters:
        list - an existing (possibly empty) attribute list, if null, a new one will be created; may already shared and per-frame functional group sequences or they will be added
        numberOfFrames - number of frames
        windowWidth - window width
        windowCenter - window center
        voiLUTFunction - VOI LUT function
        Returns:
        attribute list with per-frame and shared functional group sequences for VOI added
        Throws:
        DicomException - if error in DICOM encoding
      • generateFrameTypeSharedFunctionalGroup

        public static AttributeList generateFrameTypeSharedFunctionalGroup​(AttributeList list,
                                                                           AttributeTag tFrameTypeSequence,
                                                                           Attribute aFrameType)
                                                                    throws DicomException

        Insert a shared functional group sequence FrameTypeSequence entry.

        Parameters:
        list - an existing (possibly empty) attribute list, if null, a new one will be created; may already shared and per-frame functional group sequences or they will be added
        tFrameTypeSequence - the Functional Group Sequence tag (e.g., TagFromName.ParametricMapFrameTypeSequence)
        aFrameType - a FrameType attribute with values
        Returns:
        attribute list with per-frame and shared functional group sequences for FrameTypeSequence added
        Throws:
        DicomException - if error in DICOM encoding
      • removeFunctionalGroup

        public static void removeFunctionalGroup​(AttributeList list,
                                                 AttributeTag functionalGroupSequenceTag)

        Remove a specified functional group sequences from the shared and per-frame functional group sequences.

        Parameters:
        list - an attribute list
        functionalGroupSequenceTag - functional group to remove
      • removeAllButSelected

        public static void removeAllButSelected​(SequenceAttribute functionalGroupsSequence,
                                                FunctionalGroupUtilities.Selector selector)

        Remove the unselected functional groups.

        Parameters:
        functionalGroupsSequence - the Shared or Per-Frame functional group Attribute to edit
        selector - the functional groups to keep
      • removeAllButSelected

        public static void removeAllButSelected​(AttributeList list,
                                                FunctionalGroupUtilities.Selector selector)

        Remove the unselected functional groups.

        Parameters:
        list - the top level data set list of attributes containing the Shared and Per-Frame functional groups to edit
        selector - the functional groups to keep
      • isSpatial

        public static boolean isSpatial​(AttributeTag tag)
      • isFrameContent

        public static boolean isFrameContent​(AttributeTag tag)
      • isUnclassified

        public static boolean isUnclassified​(AttributeTag tag)