Program: gdcm
Module: $RCSfile: gdcmPixelReadConvert.cxx,v $
Language: C++
- Date: $Date: 2004/12/13 14:58:41 $
- Version: $Revision: 1.9 $
+ Date: $Date: 2005/01/06 13:35:38 $
+ Version: $Revision: 1.13 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
*/
bool PixelReadConvert::DecompressRLE16BitsFromRLE8Bits( int NumberOfFrames )
{
- size_t PixelNumber = XSize * YSize;
- size_t RawSize = XSize * YSize * NumberOfFrames;
+ size_t pixelNumber = XSize * YSize;
+ size_t rawSize = XSize * YSize * NumberOfFrames;
// We assumed Raw contains the decoded RLE pixels but as
// 8 bits per pixel. In order to convert those pixels to 16 bits
// per pixel we cannot work in place within Raw and hence
// we copy it in a safe place, say copyRaw.
- uint8_t* copyRaw = new uint8_t[ RawSize * 2 ];
- memmove( copyRaw, Raw, RawSize * 2 );
+ uint8_t* copyRaw = new uint8_t[ rawSize * 2 ];
+ memmove( copyRaw, Raw, rawSize * 2 );
uint8_t* x = Raw;
uint8_t* a = copyRaw;
- uint8_t* b = a + PixelNumber;
+ uint8_t* b = a + pixelNumber;
for ( int i = 0; i < NumberOfFrames; i++ )
{
- for ( unsigned int j = 0; j < PixelNumber; j++ )
+ for ( unsigned int j = 0; j < pixelNumber; j++ )
{
*(x++) = *(b++);
*(x++) = *(a++);
JOCTET *buffer = new JOCTET [totalLength];
JOCTET *p = buffer;
- uint8_t* localRaw = Raw;
// Loop on the fragment[s]
for( it = JPEGInfo->Fragments.begin();
it != JPEGInfo->Fragments.end();
size_t howManyRead = 0;
size_t howManyWritten = 0;
- size_t fragmentLength = 0;
if ( BitsStored == 8)
{
{
// Loop on the fragment[s] to get total length
size_t totalLength = 0;
- for( JPEGFragmentsInfo::JPEGFragmentsList::iterator
- it = JPEGInfo->Fragments.begin();
+ JPEGFragmentsInfo::JPEGFragmentsList::iterator it;
+ for( it = JPEGInfo->Fragments.begin();
it != JPEGInfo->Fragments.end();
++it )
{
JOCTET *buffer = new JOCTET [totalLength];
JOCTET *p = buffer;
- uint8_t* localRaw = Raw;
// Loop on the fragment[s]
- for( JPEGFragmentsInfo::JPEGFragmentsList::iterator
- it = JPEGInfo->Fragments.begin();
+ for( it = JPEGInfo->Fragments.begin();
it != JPEGInfo->Fragments.end();
++it )
{
size_t howManyWritten = 0;
size_t fragmentLength = 0;
- for( JPEGFragmentsInfo::JPEGFragmentsList::iterator
- it = JPEGInfo->Fragments.begin() ;
+ for( it = JPEGInfo->Fragments.begin() ;
(it != JPEGInfo->Fragments.end()) && (howManyRead < totalLength);
++it )
{
// read from it
return ReadAndDecompressJPEGSingleFrameFragmentsFromFile( fp );
}
- else if (JPEGInfo->Fragments.size() == ZSize)
+ else if (JPEGInfo->Fragments.size() == (size_t)ZSize)
{
// suppose each fragment is a frame
return ReadAndDecompressJPEGFramesFromFile( fp );
if ( HasLUT )
{
// Just in case some access to a Header element requires disk access.
- // Note: gdcmDocument::Fp is leaved open after OpenFile.
LutRedDescriptor = header->GetEntryByNumber( 0x0028, 0x1101 );
LutGreenDescriptor = header->GetEntryByNumber( 0x0028, 0x1102 );
LutBlueDescriptor = header->GetEntryByNumber( 0x0028, 0x1103 );
return true;
}
+/**
+ * \brief Print self.
+ * @param os Stream to print to.
+ */
+void PixelReadConvert::Print( std::ostream &os )
+{
+ Print("",os);
+}
+
/**
* \brief Print self.
* @param indent Indentation string to be prepended during printing.
<< std::endl;
os << indent
<< "Pixel Data: offset " << PixelOffset
- << " x" << std::hex << PixelOffset << std::dec
- << " length " << PixelDataLength
- << " x" << std::hex << PixelDataLength << std::dec
- << std::endl;
+ << " x(" << std::hex << PixelOffset << std::dec
+ << ") length " << PixelDataLength
+ << " x(" << std::hex << PixelDataLength << std::dec
+ << ")" << std::endl;
if ( IsRLELossless )
{