DGtal  1.0.beta
Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Static Private Member Functions | Static Private Attributes
DGtal::VolReader< TImageContainer, TFunctor > Struct Template Reference

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

Data Structures

struct  HeaderField
 

Public Types

typedef TImageContainer ImageContainer
 
typedef TImageContainer::Value Value
 
typedef TFunctor Functor
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CUnaryFunctor< TFunctor, unsigned char, Value >))
 
 BOOST_STATIC_ASSERT (ImageContainer::Domain::dimension==3)
 

Static Public Member Functions

static ImageContainer importVol (const std::string &filename, const Functor &aFunctor=Functor())
 

Private Types

typedef unsigned char voxel
 

Static Private Member Functions

static const char * getHeaderValue (const char *type, const HeaderField *header)
 
static int getHeaderValueAsInt (const char *type, int *dest, const HeaderField *header)
 
static int getHeaderField (const char *type, const HeaderField *header)
 

Static Private Attributes

static const char * requiredHeaders []
 

Detailed Description

template<typename TImageContainer, typename TFunctor = functors::Cast< typename TImageContainer::Value >>
struct DGtal::VolReader< TImageContainer, TFunctor >

Aim: implements methods to read a "Vol" file format.

Description of template class 'VolReader'

The main import method "importVol" returns an instance of the template parameter TImageContainer.

The private methods have been backported from the SimpleVol project (see http://liris.cnrs.fr/david.coeurjolly).

Example usage:

...
typedef SpaceND<int,3> Space3;
typedef HyperRectDomain<Space3> TDomain;
typedef TDomain::Point Point;
//Default image container = STLVector
typedef ImageSelector<TDomain, int>::Type Image;
Image image = VolReader<Image>::importVol("data.vol");
trace.info() << image <<endl;
...
Template Parameters
TImageContainerthe image container to use.
TFunctorthe type of functor used in the import (by default set to functors::Cast< TImageContainer::Value>) .
See also
testVolReader.cpp
Examples:
examples/tutorial-examples/polyhedralizer.cpp, geometry/curves/exampleGridCurve3d-2.cpp, geometry/surfaces/greedy-plane-segmentation-ex2.cpp, geometry/surfaces/greedy-plane-segmentation.cpp, geometry/volumes/distance/distancetransform3D.cpp, geometry/volumes/distance/exampleFMM3D.cpp, graph/volDistanceTraversal.cpp, images/exampleRigidtransformation3d.cpp, images/extract2DImagesFrom3D.cpp, images/extract2DImagesFrom3DandVisu.cpp, images/extract2DSlicesImagesFrom3D.cpp, io/digitalSetFromVol.cpp, io/display3DToOFF.cpp, io/viewers/viewer3D-8-2DSliceImages.cpp, io/viewers/viewer3D-8bis-2Dimages.cpp, shapes/viewMarchingCubes.cpp, shapes/viewPolygonalMarchingCubes.cpp, topology/3dBorderExtractionImg.cpp, topology/ctopo-2-3d.cpp, topology/digitalSurfaceSlice.cpp, topology/volBreadthFirstTraversal.cpp, topology/volMarchingCubes.cpp, topology/volScanBoundary.cpp, topology/volToOFF.cpp, topology/volTrackBoundary.cpp, tutorial-examples/FMMErosion.cpp, and tutorial-examples/polyhedralizer.cpp.

Definition at line 89 of file VolReader.h.

Member Typedef Documentation

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
typedef TFunctor DGtal::VolReader< TImageContainer, TFunctor >::Functor

Definition at line 95 of file VolReader.h.

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
typedef TImageContainer DGtal::VolReader< TImageContainer, TFunctor >::ImageContainer

Definition at line 93 of file VolReader.h.

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
typedef TImageContainer::Value DGtal::VolReader< TImageContainer, TFunctor >::Value

Definition at line 94 of file VolReader.h.

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
typedef unsigned char DGtal::VolReader< TImageContainer, TFunctor >::voxel
private

Definition at line 119 of file VolReader.h.

Member Function Documentation

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
DGtal::VolReader< TImageContainer, TFunctor >::BOOST_CONCEPT_ASSERT ( (concepts::CUnaryFunctor< TFunctor, unsigned char, Value >)  )
template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
DGtal::VolReader< TImageContainer, TFunctor >::BOOST_STATIC_ASSERT ( ImageContainer::Domain::dimension  = =3)
template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
static int DGtal::VolReader< TImageContainer, TFunctor >::getHeaderField ( const char *  type,
const HeaderField header 
)
staticprivate

Internal method which returns the index of a field or -1 if not found.

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
static const char* DGtal::VolReader< TImageContainer, TFunctor >::getHeaderValue ( const char *  type,
const HeaderField header 
)
staticprivate

Returns NULL if this field is not found.

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
static int DGtal::VolReader< TImageContainer, TFunctor >::getHeaderValueAsInt ( const char *  type,
int *  dest,
const HeaderField header 
)
staticprivate

Returns non-zero if failure.

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
static ImageContainer DGtal::VolReader< TImageContainer, TFunctor >::importVol ( const std::string &  filename,
const Functor aFunctor = Functor() 
)
static

Main method to import a Vol into an instance of the template parameter ImageContainer.

Parameters
filenamethe file name to import.
aFunctorthe functor used to import and cast the source image values into the type of the image container value (by default set to functors::Cast < TImageContainer::Value > .
Returns
an instance of the ImageContainer.
Examples:
dec/exampleDECSurface.cpp, and tutorial-examples/volDTGranulo.cpp.

Referenced by DGtal::GenericReader< TContainer, 3, TValue >::importWithValueFunctor().

Field Documentation

template<typename TImageContainer , typename TFunctor = functors::Cast< typename TImageContainer::Value >>
const char* DGtal::VolReader< TImageContainer, TFunctor >::requiredHeaders[]
staticprivate

Global list of required fields in a .vol file.

Definition at line 168 of file VolReader.h.


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