<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000066">
I got it to work. It turns out the files were read-only, in Windows XP.
Windows doesn't generally complain when you try to access a read only
file. Maybe gdcm2 could give a message if the file is read-only.<br>
<br>
Thanks,<br>
Greg<br>
<br>
<br>
<br>
Jean-Pierre Roux wrote:
<blockquote cite="mid45582957.5030304@creatis.univ-lyon1.fr" type="cite">Greg
Book wrote:
<br>
<br>
<blockquote type="cite">So, I'm still having this problem... Has
anyone seen this problem before? I'm wondering if it's something I'm
doing wrong, or if its a bug? And, if it is a bug, will it be fixed in
version 2.0?
<br>
<br>
</blockquote>
Now, your code looks very much like a copy-paste of
Example/AnonymizeNoLoad.cxx, and AnonymizeNoLoad seems bug free ...
<br>
<br>
Here, we use gdcm1.3, but it worked at gdcm1.2 time (there's an API
breaking modif between 1.2 and 1.3 : we use a reference counting,
therefore, we must write f = gdcm::File::New( );
<br>
and
<br>
f->Delete();
<br>
instead of
<br>
f = new gdcm::File();
<br>
and
<br>
delete f;
<br>
<br>
gdcm2.0 will be something quite different, and was developed by
Mathieu, when he has some time left.
<br>
No date can be anounced for the first gdcm2 'stable release' (Mathieu :
any comment?)
<br>
Could you send me one of your files : I would like to check if there is
nothing 'strange' in the header that would break somewhere in gdcm ?
<br>
Thx
<br>
Jean-Pierre Roux
<br>
<br>
<blockquote type="cite">Thanks,
<br>
Greg
<br>
<br>
<br>
<br>
Greg Book wrote:
<br>
<br>
<blockquote type="cite">I finally got around to working on it last
night. I now have the following code, but the dicom file is not
anonymized. I put in a break point, and the file object has the correct
anonymize elements.
<br>
<br>
f = new gdcm::File();
<br>
f->SetLoadMode(gdcm::LD_ALL);
<br>
f->SetFileName(filelist.Item(i).c_str());
<br>
if (!f->Load()) {
<br>
delete f;
<br>
continue;
<br>
}
<br>
<br>
f->AddAnonymizeElement( 0x0010, 0x0010, "Non^Person");
<br>
<br>
f->AnonymizeNoLoad();
<br>
f->ClearAnonymizeList();
<br>
delete f;
<br>
<br>
-Greg
<br>
<br>
<br>
<br>
Jean-Pierre Roux wrote:
<br>
<br>
<blockquote type="cite">Greg Book wrote:
<br>
<br>
<blockquote type="cite">I added f->Load(), but still nothing
happens. This is on Windows XP, using gdcm 1.2.2 downloaded from
sourceforge. Here is the new code:
<br>
<br>
for (i=0;i<filelist.Count();i++) {
<br>
/* open dicom file */
<br>
f = new gdcm::File();
<br>
f->SetLoadMode(gdcm::LD_ALL);
<br>
f->SetFileName(filelist.Item(i).c_str());
<br>
/* determine which fields to anonymize */
<br>
</blockquote>
<br>
<br>
<br>
--> I'm not sure of what you want to do here :
<br>
--> What is chkPatientName?
<br>
--> When I replace, in your code the following lines by :
<br>
f->AddAnonymizeElement( 0x0010, 0x0010, "g^Fantomas" );
<br>
f->AddAnonymizeElement( 0x0010, 0x0030,"11111111" );
<br>
f->AddAnonymizeElement( 0x0008, 0x0020, "11111111");
<br>
etc
<br>
the file is anonymized ?!?
<br>
<br>
Jean-Pierre
<br>
<br>
<blockquote type="cite"> if
(chkPatientName->GetValue())
<br>
f->AddAnonymizeElement( 0x0010, 0x0010,
txtPatientName->GetValue().c_str());
<br>
if (chkPatientBirthdate->GetValue())
<br>
f->AddAnonymizeElement( 0x0010, 0x0030,
txtPatientBirthdate->GetValue().c_str());
<br>
if (chkStudyDate->GetValue())
<br>
f->AddAnonymizeElement( 0x0008, 0x0020,
txtStudyDate->GetValue().c_str());
<br>
if (chkSeriesDate->GetValue())
<br>
f->AddAnonymizeElement( 0x0008, 0x0021,
txtSeriesDate->GetValue().c_str());
<br>
if (!f->Load()) {
<br>
delete f;
<br>
continue;
<br>
}
<br>
f->AnonymizeNoLoad();
<br>
f->ClearAnonymizeList();
<br>
/* close the file */
<br>
delete f;
<br>
}
<br>
<br>
-Greg
<br>
<br>
<br>
<br>
<br>
Jean-Pierre Roux wrote:
<br>
<br>
<blockquote type="cite">Jean-Pierre Roux wrote:
<br>
<br>
<blockquote type="cite">Greg Book wrote:
<br>
<br>
<br>
<br>
<blockquote type="cite">I'm attempting to anonymize a
file using gdcm::File::AnonymizeNoLoad(). I use the following code, but
the file is not anonymized, the file date is not changed either.
<br>
What might be happening?
<br>
</blockquote>
<br>
<br>
<br>
<br>
<br>
</blockquote>
--> OK : my answer may look strange
<br>
Please use
<br>
<br>
f->Load()
<br>
juste before using f->AnonymizeNoLoad()
<br>
<br>
This is not a mistake, just a stupid name for AnonymizeNoLoad :
<br>
NoLoad was *not* "don't load the file header", but "don't load the
pixels in memory".
<br>
The right name should be : AnonymizeNoGetData
<br>
<br>
<br>
Jean-Pierre Roux
<br>
<br>
<blockquote type="cite">
<blockquote type="cite">Thanks,
<br>
Greg
<br>
<br>
/* open dicom file */
<br>
f = new gdcm::File();
<br>
f->SetLoadMode(gdcm::LD_ALL);
<br>
f->SetFileName(filelist.Item(i).c_str());
<br>
</blockquote>
<br>
<br>
<br>
I'm not on my PC, and I cannot check, but I think you should Load the
gdcm::File here.
<br>
<br>
if ( !f->Load() )
<br>
{
<br>
std::cout << "[" << fileName << "] is not a
gdcm-readable file"
<br>
<< std::endl;
<br>
f->Delete();
<br>
return 1;
<br>
}
<br>
<br>
(Have a look at Example/AnonymizeNoLoad.xx)
<br>
HTH
<br>
Jean-Pierre Roux
<br>
<br>
<br>
<br>
<blockquote type="cite"> /* determine which fields
to anonymize */
<br>
if (chkPatientName->GetValue())
<br>
f->AddAnonymizeElement( 0x0010, 0x0010,
txtPatientName->GetValue().c_str());
<br>
if (chkPatientBirthdate->GetValue())
<br>
f->AddAnonymizeElement( 0x0010, 0x0030,
txtPatientBirthdate->GetValue().c_str());
<br>
if (chkStudyDate->GetValue())
<br>
f->AddAnonymizeElement( 0x0008, 0x0020,
txtStudyDate->GetValue().c_str());
<br>
if (chkSeriesDate->GetValue())
<br>
f->AddAnonymizeElement( 0x0008, 0x0021,
txtSeriesDate->GetValue().c_str());
<br>
/* close the file */
<br>
f->AnonymizeNoLoad();
<br>
f->ClearAnonymizeList();
<br>
delete f;
<br>
<br>
------------------------------------------------------------------------
<br>
<br>
_______________________________________________
<br>
Dcmlib mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Dcmlib@creatis.insa-lyon.fr">Dcmlib@creatis.insa-lyon.fr</a>
<br>
<a class="moz-txt-link-freetext" href="http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib">http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib</a>
<br>
<br>
</blockquote>
<br>
<br>
_______________________________________________
<br>
Dcmlib mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Dcmlib@creatis.insa-lyon.fr">Dcmlib@creatis.insa-lyon.fr</a>
<br>
<a class="moz-txt-link-freetext" href="http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib">http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib</a>
<br>
<br>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
------------------------------------------------------------------------
<br>
<br>
_______________________________________________
<br>
Dcmlib mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Dcmlib@creatis.insa-lyon.fr">Dcmlib@creatis.insa-lyon.fr</a>
<br>
<a class="moz-txt-link-freetext" href="http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib">http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib</a>
<br>
<br>
</blockquote>
<br>
------------------------------------------------------------------------
<br>
<br>
_______________________________________________
<br>
Dcmlib mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Dcmlib@creatis.insa-lyon.fr">Dcmlib@creatis.insa-lyon.fr</a>
<br>
<a class="moz-txt-link-freetext" href="http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib">http://www.creatis.insa-lyon.fr/mailman/listinfo/dcmlib</a>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>