[Dcmlib] (no subject)

olivier.stern at swing.be olivier.stern at swing.be
Tue May 17 16:43:53 CEST 2005


Bonjour,

Voilà un petit déjà que j'essaye de convertir une image 16bits monochrome vers une RGB 3*8bits, et j'y arrive lentement, mais surement. Mais voilà, je parcourais les différentes classes de gdcm tout à l'heure et je me suis apperçu qu'il existait une classe appelée pixelreadconvert. Est ce que je pourrais arriver au même résultat par ce biais ? Voici ce que je fais mais ça ne amrche pas trop...

Merci,
    Olivier Stern

  gdcm::FileHelper *fh = new gdcm::FileHelper( filename );
  gdcm::PixelReadConvert *prc = new gdcm::PixelReadConvert();
  prc->GrabInformationsFromFile( fh->GetFile() );
  prc->ReadAndDecompressPixelData( fh->GetFile()->OpenFile() );
  prc->BuildRGBImage();
  uint8_t * imageDataRGB = prc->GetRGB();
  size_t dataSize = prc->GetRGBSize();
  
  fh->GetFile()->InsertValEntry( \"8\", 0x0028, 0x0100); // Bits Allocated
  fh->GetFile()->InsertValEntry( \"8\", 0x0028, 0x0101); // Bits Stored
  fh->GetFile()->InsertValEntry( \"7\", 0x0028, 0x0102); // High Bit
  //fh->GetFile()->InsertValEntry( \"0\", 0x0028, 0x0103); // Pixel Representation
  
  // Samples Per Pixel  
  
  fh->GetFile()->InsertValEntry( \"3 \" ,0x0028,0x0002);
  fh->GetFile()->InsertValEntry( \"RGB \",0x0028,0x0004 ); // Photometric Interpretation
  fh->GetFile()->InsertValEntry( \"1 \",0x0028,0x0006 ); // Planar Configuration
   
  // TODO  : free existing PixelData first !
  
  fh->SetImageData(imageDataRGB, dataSize); 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.creatis.insa-lyon.fr/pipermail/dcmlib/attachments/20050517/ad2d9264/attachment.html>


More information about the Dcmlib mailing list