Program: gdcm
Module: $RCSfile: TestAllReadCompareDicom.cxx,v $
Language: C++
- Date: $Date: 2005/05/02 17:51:57 $
- Version: $Revision: 1.41 $
+ Date: $Date: 2005/10/25 14:52:30 $
+ Version: $Revision: 1.49 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmFileHelper.h"
#include "gdcmGlobal.h"
#include "gdcmTS.h"
+#include "gdcmDebug.h"
#include <iostream>
////// Step 1:
std::cout << "1...";
- gdcm::FileHelper *tested = new gdcm::FileHelper( filename );
- if( !tested->GetFile()->IsReadable() )
+
+ // new style
+ gdcm::File *f = gdcm::File::New();
+ f->SetLoadMode ( gdcm::LD_ALL ); // Load everything
+ f->SetFileName( filename );
+ f->Load();
+
+ if( !f->IsReadable() )
{
std::cout << " Failed" << std::endl
<< " Image not gdcm compatible:"
<< filename << std::endl;
- delete tested;
+ f->Delete();
return 1;
}
-
+ gdcm::FileHelper *tested = gdcm::FileHelper::New( f );
+
////// Step 2:
////// Check for existence of reference baseline dicom file:
std::cout << "2...";
<< " Image not Testing compatible:"
<< filename << std::endl;
delete reference;
- delete tested;
+ tested->Delete();
+ f->Delete();
return 1;
}
<< "Z: " << tested->GetFile()->GetZSize() << " # "
<< reference->GetZSize() << std::endl;
delete reference;
- delete tested;
+ tested->Delete();
+ f->Delete();
return 1;
}
<< " Scalar size: " << tested->GetFile()->GetPixelSize() << " # "
<< reference->GetScalarSize() << std::endl
<< " Number of scalar: " << tested->GetFile()->GetNumberOfScalarComponents() << " # "
- << reference->GetNumberOfComponents() << std::endl;
+ << reference->GetNumberOfComponents() << std::endl
+ << " Pixel type: " << tested->GetFile()->GetPixelType() << std::endl;
delete reference;
- delete tested;
+ tested->Delete();
+ f->Delete();
return 1;
}
<< tested->GetFile()->GetYSize() << ","
<< tested->GetFile()->GetZSize() << ")"
<< std::endl;
- delete tested;
+ tested->Delete();
delete reference;
+ f->Delete();
return 1;
}
<< " compression : "
<< gdcm::Global::GetTS()->GetValue(ts) << std::endl;
- std::cout << " list of pixels differing (pos : test - ref) :"
+ std::cout << " list of the first " << MAX_NUMBER_OF_DIFFERENCE
+ << " pixels differing (pos : test - ref) :"
<< std::endl;
- int i,j;
+ int i;
+ unsigned int j;
for(i=0, j=0;i<testedDataSize && j<MAX_NUMBER_OF_DIFFERENCE;i++)
{
if(testedImageData[i]!=referenceImageData[i])
}
std::cout << std::endl;
- delete tested;
+ tested->Delete();
delete reference;
+ f->Delete();
return 1;
}
//////////////// Clean up:
- delete tested;
+ tested->Delete();
delete reference;
+ f->Delete();
std::cout << "OK." << std::endl;
int TestAllReadCompareDicom(int argc, char *argv[])
{
- if ( argc == 3 )
+ if (argc == 4)
+ gdcm::Debug::DebugOn();
+
+ if ( argc >= 3 )
{
// The test is specified a specific filename, use it instead of looping
// over all images
const std::string reference = argv[2];
return InternalTest( input, reference );
}
- else if ( argc > 3 || argc == 2 )
+ else if ( argc > 4 || argc == 2 )
{
std::cerr << " Usage: " << argv[0]
<< " (no arguments needed)." << std::endl;