LDicomDS::SetJ2KOptions

#include "ltdic.h"

L_UINT16 LDicomDS::SetJ2KOptions(pOptions)

const pFILEJ2KOPTIONS pOptions;

/* pointer to a structure */

Sets the JPEG 2000 compression options.

Parameter

Description

pOptions

Pointer to a structure that contains the options to use when compressing the image(s) in a Pixel Data element using the JPEG 2000 compression.

Returns

0

SUCCESS

>0

An error occurred. Refer to Return Codes.

Comments

The nSize member of the FILEJ2KOPTIONS structure must be set before calling this function.

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

See Also

Functions:

LDicomDS::InsertImage, LDicomDS::InsertImageList, LDicomDS::SetImage, LDicomDS::SetImageList, LDicomDS::GetJ2KOptions, LDicomDS::GetDefaultJ2KOptions

Topics:

Working with Data Sets

 

Implementing JPEG 2000 Plug in Features

Example

This example inserts an image in a Data Set Using the JPEG 2000 compression with a 100:1 compression ratio.

L_INT LDicomDS_SetJ2KOptionsExample(LDicomDS *pDS ,pBITMAPHANDLE pBitmap)
{
   L_INT nRet;
   if(pDS && pBitmap)
   {
      pDICOMELEMENT  pElement;
      FILEJ2KOPTIONS J2KOptions;
      // Get the current JPEG 2000 compression options. 
      nRet = pDS->GetJ2KOptions(  &J2KOptions, 
                           sizeof(FILEJ2KOPTIONS));      
      if(nRet != DICOM_SUCCESS)
         return nRet;
      J2KOptions.uCompressionControl = J2K_COMPRESSION_RATIO;
      // set the compression ratio to 100
      J2KOptions.fCompressionRatio = 100.0f;
      // Update the JPEG 2000 compression options. 
      nRet = pDS->SetJ2KOptions(&J2KOptions);
      if(nRet != DICOM_SUCCESS)
         return nRet;
      pElement = pDS->FindFirstElement(NULL, TAG_PIXEL_DATA, FALSE);
      if (pElement != NULL)
      {
         nRet = pDS->InsertImage(pElement,
                                 pBitmap,
                                 1,
                                 IMAGE_COMPRESSION_J2K_LOSSY,
                                 IMAGE_PHOTOMETRIC_MONOCHROME2,
                                 0,
                                 25,
                                 0,
                                 NULL,
                                 NULL);
         if(nRet != DICOM_SUCCESS)
            return nRet;
      }
   }
   return DICOM_SUCCESS;
}