DGtal  1.4.beta
DGtal::GenericReader< TContainer, 3, TValue > Struct Template Reference

#include <DGtal/io/readers/GenericReader.h>

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CImage< TContainer >))
 

Static Public Member Functions

static TContainer import (const std::string &filename, unsigned int x=0, unsigned int y=0, unsigned int z=0)
 
template<typename TFunctor >
static TContainer importWithValueFunctor (const std::string &filename, const TFunctor &aFunctor, unsigned int x=0, unsigned int y=0, unsigned int z=0)
 

Detailed Description

template<typename TContainer, typename TValue>
struct DGtal::GenericReader< TContainer, 3, TValue >

GenericReader Template partial specialisation for volume images of dimension 3

Definition at line 212 of file GenericReader.h.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

template<typename TContainer , typename TValue >
DGtal::GenericReader< TContainer, 3, TValue >::BOOST_CONCEPT_ASSERT ( (concepts::CImage< TContainer >)  )

◆ import()

template<typename TContainer , typename TValue >
static TContainer DGtal::GenericReader< TContainer, 3, TValue >::import ( const std::string &  filename,
unsigned int  x = 0,
unsigned int  y = 0,
unsigned int  z = 0 
)
static

Import a volume image file. For the special format of raw image, the default parameter x,y, z need to be updated according to the dimension if the image.

Parameters
filenamethe image filename to be imported.
xthe size in the x direction.
ythe size in the y direction.
zthe size in the z direction.

◆ importWithValueFunctor()

template<typename TContainer , typename TValue >
template<typename TFunctor >
static TContainer DGtal::GenericReader< TContainer, 3, TValue >::importWithValueFunctor ( const std::string &  filename,
const TFunctor &  aFunctor,
unsigned int  x = 0,
unsigned int  y = 0,
unsigned int  z = 0 
)
inlinestatic

Import an image file by specifying a value functor (used for gray scale image format: vol, longvol, pgm3D, raw).

Template Parameters
TFunctorThe type of the functor (should verify the concept CUnaryFunctor<TFunctor, unsigned char , TContainer::Value > ).
Parameters
filenamethe image filename to be imported.
aFunctoran ColorRGBEncoder. The type of the functor (should verify the concept CUnaryFunctor<TFunctor, TContainer::Value, DGtal::Color > ).
xx
yy
zz

Definition at line 245 of file GenericReader.h.

249  {
250  BOOST_CONCEPT_ASSERT(( concepts::CUnaryFunctor<TFunctor, unsigned char, typename TContainer::Value > )) ;
251  DGtal::IOException dgtalio;
252  const std::string extension = filename.substr(filename.find_last_of(".") + 1);
253 
254  if ( extension == "vol" )
255  {
256  return VolReader<TContainer, TFunctor>::importVol( filename, aFunctor );
257  }
258  else if ( extension == "longvol" )
259  {
260  return LongvolReader<TContainer, TFunctor>::importLongvol( filename, aFunctor );
261  }
262  else if ( extension == "pgm3d" || extension == "pgm3D" || extension == "p3d" || extension == "pgm" )
263  {
264  return PGMReader<TContainer, TFunctor>::importPGM3D(filename, aFunctor);
265  }
266  else if ( extension == "raw" )
267  {
268  ASSERT( x != 0 && y != 0 && z != 0 );
269  typename TContainer::Point const pt (x, y, z);
270  return RawReader< TContainer, TFunctor >::template importRaw<TValue>( filename, pt, aFunctor );
271  }
272 
273 #ifdef WITH_HDF5
274  if ( extension == "h5" )
275  return HDF5Reader<TContainer, TFunctor>::importHDF5_3D(filename, "UInt8Array3D", aFunctor);
276 #endif
277 
278 #ifdef WITH_ITK
279  if ( extension == "dcm" )
280  {
281  return DicomReader<TContainer, TFunctor>::importDicom(filename, aFunctor);
282  }
283  else if (std::find(ITK_IO_IMAGE_EXT.begin(), ITK_IO_IMAGE_EXT.end(), extension) != ITK_IO_IMAGE_EXT.end() )
284  {
285  return ITKReader<TContainer>::importITK( filename, aFunctor );
286  }
287 #endif
288 
289  trace.error() << "Extension " << extension<< " in 3D, not yet implemented in DGtal GenericReader." << std::endl;
290  throw dgtalio;
291  }
std::ostream & error()
Trace trace
Definition: Common.h:153
const auto ITK_IO_IMAGE_EXT
Definition: ITKIOTrait.h:48
static ImageContainer importDicom(const std::string &aFilename, const Functor &aFunctor=Functor())
BOOST_CONCEPT_ASSERT((concepts::CImage< TContainer >))
static ImageContainer importHDF5_3D(const std::string &aFilename, const std::string &aDataset, const Functor &aFunctor=Functor())
static Image importITK(const std::string &filename, const TFunctor &aFunctor=TFunctor(), bool shiftDomainUsingOrigin=true)
static ImageContainer importLongvol(const std::string &filename, const Functor &aFunctor=Functor())
static ImageContainer importPGM3D(const std::string &aFilename, const Functor &aFunctor=Functor())
static ImageContainer importVol(const std::string &filename, const Functor &aFunctor=Functor())
MyPointD Point
Definition: testClone2.cpp:383

References DGtal::GenericReader< TContainer, Tdim, TValue >::BOOST_CONCEPT_ASSERT(), DGtal::Trace::error(), DGtal::DicomReader< TImageContainer, TFunctor >::importDicom(), DGtal::HDF5Reader< TImageContainer, TFunctor >::importHDF5_3D(), DGtal::ITKReader< TImage >::importITK(), DGtal::LongvolReader< TImageContainer, TFunctor >::importLongvol(), DGtal::PGMReader< TImageContainer, TFunctor >::importPGM3D(), DGtal::VolReader< TImageContainer, TFunctor >::importVol(), DGtal::ITK_IO_IMAGE_EXT, and DGtal::trace.


The documentation for this struct was generated from the following file: