X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.cxx;h=48732a3086f83b2510101e92ba0648161b90a17e;hb=add6c88b334e9cf4ddb0ae1849f1380f9844f99c;hp=2cc7443f9acffc925463e4c90bd9b2c525df6a99;hpb=745e3abcf3563cd15ebb92316d6dd800d8199340;p=gdcm.git diff --git a/src/gdcmFile.cxx b/src/gdcmFile.cxx index 2cc7443f..48732a30 100644 --- a/src/gdcmFile.cxx +++ b/src/gdcmFile.cxx @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmFile.cxx,v $ Language: C++ - Date: $Date: 2007/08/22 16:14:04 $ - Version: $Revision: 1.334 $ + Date: $Date: 2007/10/08 15:20:17 $ + Version: $Revision: 1.340 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -568,8 +568,6 @@ int File::GetTSize() } } - - /** * \brief gets the info from 0018,1164 : ImagerPixelSpacing * then 0028,0030 : Pixel Spacing @@ -1508,7 +1506,13 @@ bool File::HasLUT() return false; } // Red Palette Color Lookup Table Data - if ( !GetDocEntry(0x0028,0x1201) ) + bool segmented; + segmented = GetDocEntry(0x0028,0x1221) && + GetDocEntry(0x0028,0x1222) && + GetDocEntry(0x0028,0x1223); + if( segmented ) return true; + + if( !GetDocEntry(0x0028,0x1201) ) { return false; } @@ -1978,6 +1982,7 @@ bool File::AnonymizeFile() */ bool File::Write(std::string fileName, FileType writetype) { + gdcmDebugMacro(" File::Write "); std::ofstream *fp = new std::ofstream(fileName.c_str(), std::ios::out | std::ios::binary); if (*fp == NULL) @@ -1996,10 +2001,10 @@ bool File::Write(std::string fileName, FileType writetype) } /// \todo FIXME : Derma?.dcm does not have it...let's remove it ?!? JPRx - if( writetype != JPEG ) + if( writetype != JPEG && writetype != JPEG2000) { int i_lgPix = GetEntryLength(GrPixel, NumPixel); - if (i_lgPix != -2) + if (i_lgPix != -2) /// \todo wtf "-2" ?!? { // no (GrPixel, NumPixel) element std::string s_lgPix = Util::Format("%d", i_lgPix+12); @@ -2007,7 +2012,7 @@ bool File::Write(std::string fileName, FileType writetype) InsertEntryString(s_lgPix,GrPixel, 0x0000, "UL"); } } - Document::WriteContent(fp, writetype); + Document::WriteContent(fp, writetype,false,false); fp->close(); delete fp; @@ -2023,7 +2028,7 @@ bool File::Write(std::string fileName, FileType writetype) // Private /** * \brief Parse pixel data from disk of [multi-]fragment RLE encoding. - * Compute the RLE extra information and store it in \ref RLEInfo + * Compute the RLE extra information and store it in RLEInfo * for later pixel retrieval usage. */ void File::ComputeRLEInfo() @@ -2135,7 +2140,7 @@ void File::ComputeRLEInfo() /** * \brief Parse pixel data from disk of [multi-]fragment Jpeg encoding. * Compute the jpeg extra information (fragment[s] offset[s] and - * length) and store it[them] in \ref JPEGInfo for later pixel + * length) and store it[them] in JPEGInfo for later pixel * retrieval usage. */ void File::ComputeJPEGFragmentInfo() @@ -2198,14 +2203,14 @@ void File::ComputeJPEGFragmentInfo() } /** - * \brief Assuming the internal file pointer \ref Document::Fp + * \brief Assuming the internal file pointer Document::Fp * is placed at the beginning of a tag, check whether this * tag is (TestGroup, TestElem). - * \warning On success the internal file pointer \ref Document::Fp + * \warning On success the internal file pointer Document::Fp * is modified to point after the tag. * On failure (i.e. when the tag wasn't the expected tag * (TestGroup, TestElem) the internal file pointer - * \ref Document::Fp is restored to its original position. + * Document::Fp is restored to its original position. * @param testGroup The expected group of the tag. * @param testElem The expected Element of the tag. * @return True on success, false otherwise. @@ -2253,14 +2258,14 @@ bool File::ReadTag(uint16_t testGroup, uint16_t testElem) } /** - * \brief Assuming the internal file pointer \ref Document::Fp + * \brief Assuming the internal file pointer Document::Fp * is placed at the beginning of a tag (TestGroup, TestElement), * read the length associated to the Tag. - * \warning On success the internal file pointer \ref Document::Fp + * \warning On success the internal file pointer Document::Fp * is modified to point after the tag and its length. * On failure (i.e. when the tag wasn't the expected tag * (TestGroup, TestElement) the internal file pointer - * \ref Document::Fp is restored to its original position. + * Document::Fp is restored to its original position. * @param testGroup The expected Group of the tag. * @param testElem The expected Element of the tag. * @return On success returns the length associated to the tag. On failure