X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmParse.cxx;h=16598ac237e23917b6b81694c765daf1bb1eda96;hb=29bdd1e88a28b6267618f633f304e1154537ce7b;hp=0682f2cb3b7e19e67064a79a161601c57c2e11a3;hpb=48d629b49cc690bcd26f6721f38af0ca876be417;p=gdcm.git diff --git a/src/gdcmParse.cxx b/src/gdcmParse.cxx index 0682f2cb..16598ac2 100644 --- a/src/gdcmParse.cxx +++ b/src/gdcmParse.cxx @@ -67,7 +67,7 @@ bool gdcmFile::ParsePixelData(void) { long ftellRes; char * destination = NULL; - // ------------------------------- for Parsing : Position on begining of Jpeg/RLE Pixels + // -------------------- for Parsing : Position on begining of Jpeg/RLE Pixels if( !IsRLELossLessTransferSyntax()) { @@ -75,8 +75,8 @@ bool gdcmFile::ParsePixelData(void) { std::cout << "JPEG image" << std::endl; ftellRes=ftell(fp); - fread(&ItemTagGr,2,1,fp); // Reading (fffe) : Basic Offset Table Item Tag Gr - fread(&ItemTagEl,2,1,fp); // Reading (e000) : Basic Offset Table Item Tag El + fread(&ItemTagGr,2,1,fp); //Reading (fffe):Basic Offset Table Item Tag Gr + fread(&ItemTagEl,2,1,fp); //Reading (e000):Basic Offset Table Item Tag El if(GetSwapCode()) { ItemTagGr=SwapShort(ItemTagGr); ItemTagEl=SwapShort(ItemTagEl); @@ -110,7 +110,7 @@ bool gdcmFile::ParsePixelData(void) { printf ("at %x : ItemTag (should be fffe,e000 or e0dd): %04x,%04x\n", ftellRes,ItemTagGr,ItemTagEl ); - while ( ( ItemTagGr == 0xfffe) && (ItemTagEl != 0xe0dd) ) { // Parse fragments + while ( ( ItemTagGr==0xfffe) && (ItemTagEl!=0xe0dd) ) { // Parse fragments ftellRes=ftell(fp); fread(&ln,4,1,fp); @@ -149,8 +149,8 @@ bool gdcmFile::ParsePixelData(void) { ftellRes=ftell(fp); // Basic Offset Table with Item Value // Item Tag - fread(&ItemTagGr,2,1,fp); // Reading (fffe):Basic Offset Table Item Tag Gr - fread(&ItemTagEl,2,1,fp); // Reading (e000):Basic Offset Table Item Tag El + fread(&ItemTagGr,2,1,fp); //Reading (fffe):Basic Offset Table Item Tag Gr + fread(&ItemTagEl,2,1,fp); //Reading (e000):Basic Offset Table Item Tag El if(GetSwapCode()) { ItemTagGr=SwapShort(ItemTagGr); ItemTagEl=SwapShort(ItemTagEl); @@ -197,10 +197,10 @@ bool gdcmFile::ParsePixelData(void) { //------------------ scanning (not reading) fragment pixels - fread(&nbRleSegments,4,1,fp); // Reading : Number of RLE Segments + fread(&nbRleSegments,4,1,fp); // Reading : Number of RLE Segments if(GetSwapCode()) nbRleSegments=SwapLong(nbRleSegments); - printf(" Nb of RLE Segments : %d\n",nbRleSegments); + printf(" Nb of RLE Segments : %d\n",nbRleSegments); for(int k=1; k<=15; k++) { // Reading RLE Segments Offset Table ftellRes=ftell(fp); @@ -208,22 +208,24 @@ bool gdcmFile::ParsePixelData(void) { if(GetSwapCode()) RleSegmentOffsetTable[k]=SwapLong(RleSegmentOffsetTable[k]); printf(" at : %x Offset Segment %d : %d (%x)\n", - ftellRes,k,RleSegmentOffsetTable[k],RleSegmentOffsetTable[k]); + ftellRes,k,RleSegmentOffsetTable[k], + RleSegmentOffsetTable[k]); } - if (nbRleSegments>1) { - for(int k=1; k<=nbRleSegments-1; k++) { // skipping (not reading) RLE Segments - RleSegmentLength[k]=RleSegmentOffsetTable[k+1]-RleSegmentOffsetTable[k]; + if (nbRleSegments>1) { // skipping (not reading) RLE Segments + for(int k=1; k<=nbRleSegments-1; k++) { + RleSegmentLength[k]= RleSegmentOffsetTable[k+1] + - RleSegmentOffsetTable[k]; ftellRes=ftell(fp); - printf (" Segment %d : Length = %d x(%x) Start at %x\n", - k,RleSegmentLength[k],RleSegmentLength[k], ftellRes); + printf (" Segment %d : Length = %d x(%x) Start at %x\n", + k,RleSegmentLength[k],RleSegmentLength[k], ftellRes); fseek(fp,RleSegmentLength[k],SEEK_CUR); } } - RleSegmentLength[nbRleSegments] = fragmentLength - RleSegmentOffsetTable[nbRleSegments] ; - // TODO : Check the value + RleSegmentLength[nbRleSegments]= fragmentLength + - RleSegmentOffsetTable[nbRleSegments]; ftellRes=ftell(fp); - printf (" Segment %d : Length = %d x(%x) Start at %x\n", + printf (" Segment %d : Length = %d x(%x) Start at %x\n", nbRleSegments,RleSegmentLength[nbRleSegments], RleSegmentLength[nbRleSegments],ftellRes);