]> Creatis software - gdcm.git/blobdiff - src/gdcmPixelConvert.h
* CLEANUP_ROUND (10) for gdcmPixelConvert (Xanax is my friend stage)
[gdcm.git] / src / gdcmPixelConvert.h
index b9090889a30fa5fb1d2bb0eb6753430c9912a042..8121f0b6f6931f33612f2d3c2193a9f6b19179b8 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmPixelConvert.h,v $
   Language:  C++
-  Date:      $Date: 2004/10/08 08:56:48 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2004/10/10 16:44:00 $
+  Version:   $Revision: 1.5 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -21,6 +21,9 @@
 #define GDCMPIXELCONVERTL_H
 
 #include "gdcmCommon.h"
+#include "gdcmRLEFramesInfo.h"
+#include "gdcmJPEGFragmentsInfo.h"
+#include "gdcmException.h"
 
 /*
  * \brief Utility container for gathering the various forms the pixel data
@@ -51,20 +54,56 @@ public:
    void Squeeze();
 //////////////////////////////////////////////////////////
 // In progress
-bool ReadAndUncompress12Bits( FILE* filePointer,
-                              size_t uncompressedSize,
-                              size_t PixelNumber );
-bool ReadUncompressed( FILE* filePointer,
-                       size_t uncompressedSize,
-                       size_t expectedSize );
-bool ConvertGrayAndLutToRGB( uint8_t *lutRGBA );
-bool ReadAndUncompressRLE8Bits(FILE* fp, size_t uncompressedSize );
-static uint8_t* UncompressRLE16BitsFromRLE8Bits(
-                       int XSize,
-                       int YSize,
-                       int NumberOfFrames,
-                       uint8_t* fixMemUncompressed );
+   static bool UncompressRLE16BitsFromRLE8Bits(
+                  int XSize,
+                  int YSize,
+                  int NumberOfFrames,
+                  uint8_t* fixMemUncompressed );
+   static bool ReadAndUncompressRLEFragment(
+                  uint8_t* decodedZone,
+                  long fragmentSize,
+                  long uncompressedSegmentSize,
+                  FILE* fp );
+   static bool ReadAndDecompressRLEFile(
+                  void* image_buffer,
+                  int XSize,
+                  int YSize,
+                  int ZSize,
+                  int BitsAllocated,
+                  gdcmRLEFramesInfo* RLEInfo,
+                  FILE* fp );
+   static void ConvertDecompress12BitsTo16Bits(
+                  uint8_t* pixelZone,
+                  int sizeX,
+                  int sizeY,
+                  FILE* filePtr) throw ( gdcmFormatError );
+   static void SwapZone(void* im, int swap, int lgr, int nb);
+   static void ConvertReorderEndianity(
+                  uint8_t* pixelZone,
+                  size_t imageDataSize,
+                  int numberBitsStored,
+                  int numberBitsAllocated,
+                  int swapCode,
+                  bool signedPixel );
+   static bool ReadAndDecompressJPEGFile(
+                  uint8_t* destination,
+                  int XSize,
+                  int YSize,
+                  int BitsAllocated,
+                  int BitsStored,
+                  int SamplesPerPixel,
+                  int PixelSize,
+                  bool isJPEG2000,
+                  bool isJPEGLossless,
+                  gdcmJPEGFragmentsInfo* JPEGInfo,
+                  FILE* fp );
+   static bool gdcmPixelConvert::ConvertReArrangeBits(
+                  uint8_t* pixelZone,
+                  size_t imageDataSize,
+                  int numberBitsStored,
+                  int numberBitsAllocated,
+                  int highBitPosition ) throw ( gdcmFormatError );
+
 
 };