Program: gdcm
Module: $RCSfile: TestPapyrus.cxx,v $
Language: C++
- Date: $Date: 2005/01/23 10:12:32 $
- Version: $Revision: 1.6 $
+ Date: $Date: 2005/01/26 15:40:18 $
+ Version: $Revision: 1.11 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
// Modality, Transfer Syntax, Study Date, Study Time
// Patient Name, Media Storage SOP Instance UID, etc
- MediaStSOPinstUID = h->GetEntry(0x0002,0x0002);
- TransferSyntax = h->GetEntry(0x0002,0x0010);
- StudyDate = sqi->GetEntry(0x0008,0x0020);
- StudyTime = sqi->GetEntry(0x0008,0x0030);
- Modality = sqi->GetEntry(0x0008,0x0060);
- PatientName = sqi->GetEntry(0x0010,0x0010);
+ MediaStSOPinstUID = h->GetEntryValue(0x0002,0x0002);
+ TransferSyntax = h->GetEntryValue(0x0002,0x0010);
+ StudyDate = sqi->GetEntryValue(0x0008,0x0020);
+ StudyTime = sqi->GetEntryValue(0x0008,0x0030);
+ Modality = sqi->GetEntryValue(0x0008,0x0060);
+ PatientName = sqi->GetEntryValue(0x0010,0x0010);
std::cout << "TransferSyntax " << TransferSyntax << std::endl;
// we brutally suppose all the images within a Papyrus file
// have the same caracteristics.
- // if you're aware they have not, just move the GetEntry
+ // if you're aware they have not, just move the GetEntryValue
// inside the loop
// Get caracteristics of the first image
-
- SamplesPerPixel = sqi->GetEntry(0x0028,0x0002);
- Rows = sqi->GetEntry(0x0028,0x0010);
- Columns = sqi->GetEntry(0x0028,0x0011);
- BitsAllocated = sqi->GetEntry(0x0028,0x0100);
- BitsStored = sqi->GetEntry(0x0028,0x0101);
- HighBit = sqi->GetEntry(0x0028,0x0102);
- PixelRepresentation = sqi->GetEntry(0x0028,0x0102);
+ SamplesPerPixel = sqi->GetEntryValue(0x0028,0x0002);
+ Rows = sqi->GetEntryValue(0x0028,0x0010);
+ Columns = sqi->GetEntryValue(0x0028,0x0011);
+ BitsAllocated = sqi->GetEntryValue(0x0028,0x0100);
+ BitsStored = sqi->GetEntryValue(0x0028,0x0101);
+ HighBit = sqi->GetEntryValue(0x0028,0x0102);
+ PixelRepresentation = sqi->GetEntryValue(0x0028,0x0102);
// just convert those needed to compute PixelArea length
int iRows = (uint32_t) atoi( Rows.c_str() );
int lgrImage = iRows*iColumns * iSamplesPerPixel * (iBitsAllocated/8);
// compute number of images
-
int nbImages = seqPapyrus->GetNumberOfSQItems();
-/*
- int nbImages = 0;
- while (sqi)
- {
- nbImages++;
- sqi = seqPapyrus->GetNextSQItem();
- }
-*/
std::cout <<"Number of frames :" << nbImages << std::endl;
// allocate enough room to get the pixels of all images.
-
uint8_t *PixelArea = new uint8_t[lgrImage*nbImages];
uint8_t *currentPosition = PixelArea;
gdcm::BinEntry *pixels;
while (sqi)
{
std::cout << "One more image read. Keep waiting" << std::endl;
- Rows = sqi->GetEntry(0x0028,0x0010);
+ Rows = sqi->GetEntryValue(0x0028,0x0010);
// minimum integrity check
if (Rows != previousRows)
{
std::string NumberOfFrames = gdcm::Util::Format("%d", nbImages);
gdcm::File *n = new gdcm::File();
- n->InitializeDefaultFile();
- n->ReplaceOrCreate(MediaStSOPinstUID, 0x0002,0x0002);
+ n->InsertValEntry(MediaStSOPinstUID, 0x0002,0x0002);
// Whe keep default gdcm Transfer Syntax (Explicit VR Little Endian)
// since using Papyrus one (Implicit VR Little Endian) is a mess
- //n->ReplaceOrCreate(TransferSyntax, 0x0002,0x0010);
- n->ReplaceOrCreate(StudyDate, 0x0008,0x0020);
- n->ReplaceOrCreate(StudyTime, 0x0008,0x0030);
- n->ReplaceOrCreate(Modality, 0x0008,0x0060);
- n->ReplaceOrCreate(PatientName, 0x0010,0x0010);
-
- n->ReplaceOrCreate(SamplesPerPixel, 0x0028,0x0002);
- n->ReplaceOrCreate(NumberOfFrames, 0x0028,0x0008);
- n->ReplaceOrCreate(Rows, 0x0028,0x0010);
- n->ReplaceOrCreate(Columns, 0x0028,0x0011);
- n->ReplaceOrCreate(BitsAllocated, 0x0028,0x0100);
- n->ReplaceOrCreate(BitsStored, 0x0028,0x0101);
- n->ReplaceOrCreate(HighBit, 0x0028,0x0102);
- n->ReplaceOrCreate(PixelRepresentation,0x0028,0x0102);
+ //n->InsertValEntry(TransferSyntax, 0x0002,0x0010);
+ n->InsertValEntry(StudyDate, 0x0008,0x0020);
+ n->InsertValEntry(StudyTime, 0x0008,0x0030);
+ n->InsertValEntry(Modality, 0x0008,0x0060);
+ n->InsertValEntry(PatientName, 0x0010,0x0010);
+
+ n->InsertValEntry(SamplesPerPixel, 0x0028,0x0002);
+ n->InsertValEntry(NumberOfFrames, 0x0028,0x0008);
+ n->InsertValEntry(Rows, 0x0028,0x0010);
+ n->InsertValEntry(Columns, 0x0028,0x0011);
+ n->InsertValEntry(BitsAllocated, 0x0028,0x0100);
+ n->InsertValEntry(BitsStored, 0x0028,0x0101);
+ n->InsertValEntry(HighBit, 0x0028,0x0102);
+ n->InsertValEntry(PixelRepresentation,0x0028,0x0102);
// create the file
gdcm::FileHelper *file = new gdcm::FileHelper(n);