jpr [Wed, 31 May 2006 16:16:04 +0000 (16:16 +0000)]
Fix troubles in AnonymizeMultiPatient.
(It ensures (hope so) that all the Patient names will be different
after anonymization.
It will probabely replace AnonymizeNoLoad
jpr [Wed, 31 May 2006 16:09:29 +0000 (16:09 +0000)]
Add an open source code for MD5.
This will allowed to use a rough way to anonymize Patient's name, instead of
writing an arbitrary value.
(When we anonymized a multi-patient Directory, it leaded to a mees -all the
patients with the same name-)
jpr [Tue, 30 May 2006 08:10:19 +0000 (08:10 +0000)]
Comment out some deprecated function (instead of GDCM_LEGACY, that seems to be
dealt with in a mood-dependant way by swig), to be able to compile everywhere.
malaterre [Thu, 11 May 2006 20:01:28 +0000 (20:01 +0000)]
ENH: vtkgdcmSerieViewer2 looks like it's completely duplicated code. oh god we love duplicated code in gdcm, do we. Fix a minor warning (perf reason cast to bool thing)
jpr [Tue, 2 May 2006 13:11:57 +0000 (13:11 +0000)]
Add some comments about
// Description:
// Aware user is allowed to pass his own gdcm::File *, so he may set *any Dicom field* he wants.
// (including his own Shadow Eleents, or any gdcm::SeqEntry)
// gdcm::FileHelper::CheckMandatoryElements() will check inconsistencies, as far as it knows how.
// Sorry, not yet available under Python.
vtkSetMacro(GdcmFile, gdcm::File *);
and
// gdcm cannot guess how user built his image (and therefore cannot be clever about some Dicom fields)
// It's up to the user to tell gdcm what he did.
// -1) user created ex nihilo his own image and wants to write it as a Dicom image.
// USER_OWN_IMAGE
// -2) user modified the pixels of an existing image.
// FILTERED_IMAGE
// -3) user created a new image, using existing a set of images (eg MIP, MPR, cartography image)
// CREATED_IMAGE
// -4) user modified/added some tags *without processing* the pixels (anonymization..
// UNMODIFIED_PIXELS_IMAGE
// -Probabely some more to be added
//(see gdcmFileHelper.h for more explanations)
jpr [Tue, 2 May 2006 10:09:43 +0000 (10:09 +0000)]
Propagate Mathieu's modif from 1.2 to CVS version.
ENH: A few stuff:
Do not call ResetCameraClippingRange in VTK5 and above (fixed)
Update to new API for the ZSlicer stuff in vtkImageViewer2
Add a vtkMedicalImageProperties to the writer to pass in medical information from VTK context (pretty neat...)
Minor style, avoid including too many header files
Minor fix in FileHelper::CheckMandatoryElements :
At write time, when we re write an old ACR-NEMA file as a DICOM one,
// Replace deprecated 0028 0012 US Planes
// by new 0028 0008 IS Number of Frames
Some clinical softwares *demand* Patient ID (0x0010,0x0020)
although it's a 'type 2' entry.
Use a default value
//CheckMandatoryEntry(0x0010,0x0020,"gdcm ID","LO");
jpr [Thu, 30 Mar 2006 16:41:22 +0000 (16:41 +0000)]
As a side effect,
bool SerieHelper::ImagePositionPatientOrdering( FileList *fileList )
computes ZSpacing, according to Jolinda Smith's algorithm, already used to sort
the images.
Retrieve it with
double SerieHelper::GetZSpacing();
The pb of using it within vtkgdcmReader() is still pending.
jpr [Wed, 29 Mar 2006 16:09:48 +0000 (16:09 +0000)]
Unnormalized 4th dimension is now dealt with.
User tells gdcm *where* it is.
File::SetFourthDimensionLocation(groupNb, elementNb);
After Load(), he may use int File::GetTSize();
As a proof of concept, PrintFile has one more option :
4Dloc=0x3001-0x1001, for instance.
One can see pixel size is now computed properly.
jpr [Wed, 22 Mar 2006 13:19:25 +0000 (13:19 +0000)]
To speed up the parsing process (avoid accessing HTable when useless):
VR and Key are now stored int the DocEntry
DefaultPubDict is stored as well outsite the Htable.