Inheritance diagram for DJCodecDecoder:

Public Member Functions | |
| DJCodecDecoder () | |
| default constructor | |
| virtual | ~DJCodecDecoder () |
| destructor | |
| virtual OFCondition | decode (const DcmRepresentationParameter *fromRepParam, DcmPixelSequence *pixSeq, DcmPolymorphOBOW &uncompressedPixelData, const DcmCodecParameter *cp, const DcmStack &objStack) const |
| decompresses the given pixel sequence and stores the result in the given uncompressedPixelData element. | |
| virtual OFCondition | encode (const Uint16 *pixelData, const Uint32 length, const DcmRepresentationParameter *toRepParam, DcmPixelSequence *&pixSeq, const DcmCodecParameter *cp, DcmStack &objStack) const |
| compresses the given uncompressed DICOM image and stores the result in the given pixSeq element. | |
| virtual OFCondition | encode (const E_TransferSyntax fromRepType, const DcmRepresentationParameter *fromRepParam, DcmPixelSequence *fromPixSeq, const DcmRepresentationParameter *toRepParam, DcmPixelSequence *&toPixSeq, const DcmCodecParameter *cp, DcmStack &objStack) const |
| transcodes (re-compresses) the given compressed DICOM image and stores the result in the given toPixSeq element. | |
| virtual OFBool | canChangeCoding (const E_TransferSyntax oldRepType, const E_TransferSyntax newRepType) const |
| checks if this codec is able to convert from the given current transfer syntax to the given new transfer syntax | |
| virtual E_TransferSyntax | supportedTransferSyntax () const=0 |
| returns the transfer syntax that this particular codec is able to decode. | |
Private Member Functions | |
| virtual DJDecoder * | createDecoderInstance (const DcmRepresentationParameter *toRepParam, const DJCodecParameter *cp, Uint8 bitsPerSample, OFBool isYBR) const=0 |
| creates an instance of the compression library to be used for decoding. | |
Static Private Member Functions | |
| static Uint8 | scanJpegDataForBitDepth (const Uint8 *data, const Uint32 fragmentLength) |
| scans the given block of JPEG data for a Start of Frame marker and returns the number of bits per pixel stored in the Start of Frame block. | |
| static Uint16 | readUint16 (const Uint8 *data) |
| reads two bytes from the given array of little endian 16-bit values and returns the value as Uint16 in local byte order. | |
| static OFCondition | createPlanarConfigurationByte (Uint8 *imageFrame, Uint16 columns, Uint16 rows) |
| converts an RGB or YBR frame with 8 bits/sample from color-by-pixel to color-by-plane planar configuration. | |
| static OFCondition | createPlanarConfigurationWord (Uint16 *imageFrame, Uint16 columns, Uint16 rows) |
| converts an RGB or YBR frame with 16 bits/sample from color-by-pixel to color-by-plane planar configuration. | |
| static OFBool | requiresPlanarConfiguration (const char *sopClassUID, EP_Interpretation photometricInterpretation) |
| examines if a given image requires color-by-plane planar configuration depending on SOP Class UID (DICOM IOD) and photometric interpretation. | |
This abstract class contains most of the application logic needed for a dcmdata codec object that implements a JPEG decoder using the DJDecoder interface to the underlying JPEG implementation. This class only supports decompression, it neither implements encoding nor transcoding.
Definition at line 58 of file djcodecd.h.
| virtual OFCondition DJCodecDecoder::decode | ( | const DcmRepresentationParameter * | fromRepParam, | |
| DcmPixelSequence * | pixSeq, | |||
| DcmPolymorphOBOW & | uncompressedPixelData, | |||
| const DcmCodecParameter * | cp, | |||
| const DcmStack & | objStack | |||
| ) | const [virtual] |
decompresses the given pixel sequence and stores the result in the given uncompressedPixelData element.
| fromRepParam | current representation parameter of compressed data, may be NULL | |
| pixSeq | compressed pixel sequence | |
| uncompressedPixelData | uncompressed pixel data stored in this element | |
| cp | codec parameters for this codec | |
| objStack | stack pointing to the location of the pixel data element in the current dataset. |
Implements DcmCodec.
| virtual OFCondition DJCodecDecoder::encode | ( | const Uint16 * | pixelData, | |
| const Uint32 | length, | |||
| const DcmRepresentationParameter * | toRepParam, | |||
| DcmPixelSequence *& | pixSeq, | |||
| const DcmCodecParameter * | cp, | |||
| DcmStack & | objStack | |||
| ) | const [virtual] |
compresses the given uncompressed DICOM image and stores the result in the given pixSeq element.
| pixelData | pointer to the uncompressed image data in OW format and local byte order | |
| length | of the pixel data field in bytes | |
| toRepParam | representation parameter describing the desired compressed representation (e.g. JPEG quality) | |
| pixSeq | compressed pixel sequence (pointer to new DcmPixelSequence object allocated on heap) returned in this parameter upon success. | |
| cp | codec parameters for this codec | |
| objStack | stack pointing to the location of the pixel data element in the current dataset. |
Implements DcmCodec.
| virtual OFCondition DJCodecDecoder::encode | ( | const E_TransferSyntax | fromRepType, | |
| const DcmRepresentationParameter * | fromRepParam, | |||
| DcmPixelSequence * | fromPixSeq, | |||
| const DcmRepresentationParameter * | toRepParam, | |||
| DcmPixelSequence *& | toPixSeq, | |||
| const DcmCodecParameter * | cp, | |||
| DcmStack & | objStack | |||
| ) | const [virtual] |
transcodes (re-compresses) the given compressed DICOM image and stores the result in the given toPixSeq element.
| fromRepType | current transfer syntax of the compressed image | |
| fromRepParam | current representation parameter of compressed data, may be NULL | |
| fromPixSeq | compressed pixel sequence | |
| toRepParam | representation parameter describing the desired new compressed representation (e.g. JPEG quality) | |
| toPixSeq | compressed pixel sequence (pointer to new DcmPixelSequence object allocated on heap) returned in this parameter upon success. | |
| cp | codec parameters for this codec | |
| objStack | stack pointing to the location of the pixel data element in the current dataset. |
Implements DcmCodec.
| virtual OFBool DJCodecDecoder::canChangeCoding | ( | const E_TransferSyntax | oldRepType, | |
| const E_TransferSyntax | newRepType | |||
| ) | const [virtual] |
checks if this codec is able to convert from the given current transfer syntax to the given new transfer syntax
| oldRepType | current transfer syntax | |
| newRepType | desired new transfer syntax |
Implements DcmCodec.
| virtual E_TransferSyntax DJCodecDecoder::supportedTransferSyntax | ( | ) | const [pure virtual] |
returns the transfer syntax that this particular codec is able to decode.
Implemented in DJDecoderBaseline, DJDecoderExtended, DJDecoderLossless, DJDecoderProgressive, DJDecoderSpectralSelection, and DJDecoderP14SV1.
| virtual DJDecoder* DJCodecDecoder::createDecoderInstance | ( | const DcmRepresentationParameter * | toRepParam, | |
| const DJCodecParameter * | cp, | |||
| Uint8 | bitsPerSample, | |||
| OFBool | isYBR | |||
| ) | const [private, pure virtual] |
creates an instance of the compression library to be used for decoding.
| toRepParam | representation parameter passed to decode() | |
| cp | codec parameter passed to decode() | |
| bitsPerSample | bits per sample for the image data | |
| isYBR | flag indicating whether DICOM photometric interpretation is YCbCr |
Implemented in DJDecoderBaseline, DJDecoderExtended, DJDecoderLossless, DJDecoderProgressive, DJDecoderSpectralSelection, and DJDecoderP14SV1.
| static Uint8 DJCodecDecoder::scanJpegDataForBitDepth | ( | const Uint8 * | data, | |
| const Uint32 | fragmentLength | |||
| ) | [static, private] |
scans the given block of JPEG data for a Start of Frame marker and returns the number of bits per pixel stored in the Start of Frame block.
| data | pointer to array, must not be NULL | |
| fragmentLength | size of array |
| static Uint16 DJCodecDecoder::readUint16 | ( | const Uint8 * | data | ) | [static, private] |
reads two bytes from the given array of little endian 16-bit values and returns the value as Uint16 in local byte order.
| data | pointer to array, must not be NULL, must at least 2 bytes large |
| static OFCondition DJCodecDecoder::createPlanarConfigurationByte | ( | Uint8 * | imageFrame, | |
| Uint16 | columns, | |||
| Uint16 | rows | |||
| ) | [static, private] |
converts an RGB or YBR frame with 8 bits/sample from color-by-pixel to color-by-plane planar configuration.
| imageFrame | pointer to image frame, must contain at least 3*columns*rows bytes of pixel data. | |
| columns | columns | |
| rows | rows |
| static OFCondition DJCodecDecoder::createPlanarConfigurationWord | ( | Uint16 * | imageFrame, | |
| Uint16 | columns, | |||
| Uint16 | rows | |||
| ) | [static, private] |
converts an RGB or YBR frame with 16 bits/sample from color-by-pixel to color-by-plane planar configuration.
| imageFrame | pointer to image frame, must contain at least 3*columns*rows words of pixel data. | |
| columns | columns | |
| rows | rows |
| static OFBool DJCodecDecoder::requiresPlanarConfiguration | ( | const char * | sopClassUID, | |
| EP_Interpretation | photometricInterpretation | |||
| ) | [static, private] |
examines if a given image requires color-by-plane planar configuration depending on SOP Class UID (DICOM IOD) and photometric interpretation.
All SOP classes defined in the 2003 edition of the DICOM standard or earlier are handled correctly.
| sopClassUID | SOP Class UID | |
| photometricInterpretation | decompressed photometric interpretation |