com.pixelmed.dicom

## Class FunctionalGroupUtilities

- java.lang.Object
- - com.pixelmed.dicom.FunctionalGroupUtilities

    public class FunctionalGroupUtilities
    extends java.lang.Object

A class contain useful methods for manipulating Functional Group Sequences.

### Constructor Summary

Constructors
Constructor and Description
`FunctionalGroupUtilities()`

### Method Summary

Methods
`static AttributeList` `createFunctionalGroupsIfNotPresent(AttributeList list, int numberOfFrames)` Create shared and per-frame functional group sequences if not already present.
`static AttributeList` `generatePixelValueTransformationFunctionalGroup(AttributeList list, int numberOfFrames, double rescaleSlope, double rescaleIntercept, java.lang.String rescaleType)` Insert a shared functional group sequence Pixel Value Transformation Sequence entry.
`static AttributeList` `generateVOILUTFunctionalGroup(AttributeList list, int numberOfFrames, double windowWidth, double windowCenter, java.lang.String voiLUTFunction)` Insert a shared functional group sequence Frame VOI LUT Sequence entry.
`static void` `removeFunctionalGroup(AttributeList list, AttributeTag functionalGroupSequenceTag)` Remove a specified functional group sequences from the shared and per-frame functional group sequences.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### FunctionalGroupUtilities

    public FunctionalGroupUtilities()

### Method Detail

#### 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` - return attribute list with empty per-frame and shared functional group sequences fadded
Throws:
  `DicomException`

#### 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` -
  `rescaleSlope` -
  `rescaleIntercept` -
  `rescaleType` - return attribute list with per-frame and shared functional group sequences for VOI added
Throws:
  `DicomException`

#### 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` -
  `windowWidth` -
  `windowCenter` -
  `voiLUTFunction` - return attribute list with per-frame and shared functional group sequences for VOI added
Throws:
  `DicomException`

#### 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
  `numberOfFrames` - functionalGroupSequenceTag