#include <creaImageIOVtkImageReader.h>
#include <creaImageIODicomImageReader.h>
+#include <creaImageIOUltrasonixImageReader.h>
#include <vtkPNGReader.h>
#include <vtkTIFFReader.h>
- //=====================================================================
- /*
- void IRFillFields(DicomNode* node,
- GDCM_NAME_SPACE::File* gdcmFile)
- {
- const DicomNodeTypeDescription::FieldDescriptionMapType& dm
- = node->GetTypeDescription().GetFieldDescriptionMap();
- DicomNodeTypeDescription::FieldDescriptionMapType::const_iterator i;
-
-
- DicomNode::FieldValueMapType& vm = node->GetFieldValueMap();
- for (i=dm.begin(); i!=dm.end(); ++i)
- {
- if ( (i->second.flags==0) &&
- (i->second.group!=0) &&
- (i->second.element!=0) )
- {
- uint16_t gr = i->second.group;
- uint16_t el = i->second.element;
-
- std::string val = gdcmFile->GetEntryString(gr,el);
-
- vm[i->first] = irclean(val);
- }
- else
- {
- vm[i->first] = "";
- }
- }
- }
- */
- //=====================================================================
-
-
//=====================================================================
Register(new VtkImageReader(vtkMetaImageReader::New(),"MHD",".mhd"));
// Register(new VtkImageReader(vtkGESignalReader::New()));
Register(new DicomImageReader);
+ Register(new UltrasonixImageReader);
/*
std::cout << "## Registered file extensions : "<<std::endl;
ImageReader::~ImageReader()
{
// std::cout << "#### ImageReader::~ImageReader()"<<std::endl;
- std::vector<SpecificImageReader*>::iterator i;
+ std::vector<AbstractImageReader*>::iterator i;
for (i=mReader.begin(); i!=mReader.end(); i++)
{
// std::cout << "#### ImageReader::UnRegister("
//=====================================================================
//=====================================================================
- void ImageReader::Register(SpecificImageReader* r)
+ void ImageReader::Register(AbstractImageReader* r)
{
// std::cout << "#### ImageReader::Register("<<r->GetName()<<")"<<std::endl;
mReader.push_back(r);
- r->PushBackExtensions(mKnownExtensions);
+ // r->PushBackExtensions(mKnownExtensions);
}
//=====================================================================
//=====================================================================
// Returns true iff the file is readable
- bool ImageReader::CanRead( const std::string& filename,
- const std::string& exclude )
+ bool ImageReader::CanRead( const std::string& filename )
+ // const std::string& exclude )
{
// std::cout << "## ImageReader::CanRead("<<filename<<")"<<std::endl;
bool ok = false;
- std::vector<SpecificImageReader*>::iterator i;
+ std::vector<AbstractImageReader*>::iterator i;
for (i=mReader.begin(); i!=mReader.end(); i++)
{
- if ((*i)->GetName()==exclude) continue;
+ // if ((*i)->GetName()==exclude) continue;
ok = (*i)->CanRead(filename);
if (ok)
{
//=====================================================================
// Reads the file (CanRead must be called before : no test here)
- vtkImageData* ImageReader::ReadImage( const std::string& filename,
- const std::string& exclude )
+ vtkImageData* ImageReader::ReadImage( const std::string& filename)
+ // const std::string& exclude )
{
// std::cout << "## ImageReader::Read("<<filename<<")"<<std::endl;
if (mLastFilename!=filename)
{
- if (!CanRead(filename,exclude))
+ if (!CanRead(filename)) //,exclude))
{
// std::cout << " -- Cannot read image "<<std::endl;
vtkImageData* im = vtkImageData::New();
i->ShallowCopy(mUnreadableImage);
}
// std::cout << "i="<<i<<std::endl;
+ //std::cout<<"return: "<<i->GetScalarTypeAsString()<<", pointer="<<i<<std::endl;
return i;
}
//=====================================================================
//=====================================================================
-
+ //=====================================================================
+ /// Pushes back all kwown extensions (without dot) in the vector given
+ void ImageReader::PushBackExtensions(std::vector<std::string>& v)
+ {
+ std::vector<AbstractImageReader*>::iterator i;
+ for (i=mReader.begin(); i!=mReader.end(); i++)
+ {
+ (*i)->PushBackExtensions(v);
+ }
+ }
+ //=====================================================================
+
} // namespace creaImageIO