ISIS Core Library 0.7.2 (api 3.0.0)
Namespaces | Data Structures | Typedefs | Enumerations | Functions

isis::data Namespace Reference

Namespaces

namespace  _internal

Data Structures

class  Chunk
 Main class for four-dimensional random-access data blocks. More...
class  ChunkOp
 Base class for operators used for foreachChunk. More...
class  FilePtr
 Class to map files into memory. More...
class  Image
 Main class for generic 4D-images. More...
class  IOApplication
class  IOFactory
class  MemChunk
 Chunk class for memory-based buffers. More...
class  MemChunkNonDel
class  MemImage
 An Image which always uses its own memory and a specific type. More...
class  TypedImage
 An Image where all chunks are guaranteed to have a specific type. More...
class  ValueArray
 Generic class for type (and length) - aware pointers. More...
class  ValueArrayBase
class  VoxelOp

Typedefs

typedef DataDebug Debug
typedef DataLog Runtime
typedef ValueArrayBase::Reference ValueArrayReference

Enumerations

enum  dimensions { rowDim = 0, columnDim, sliceDim, timeDim }
enum  scannerAxis { x = 0, y, z, t }

Functions

template<typename HANDLE >
void enableLog (LogLevel level)
 Set logging level for the namespace data.
template<typename T >
static _internal T endianSwap (const T &var)
template<typename ITER , typename TITER >
static void endianSwapArray (const ITER begin, const ITER end, TITER target)
boost::filesystem::path getCommonSource (const std::list< data::Image > &imgs)
boost::filesystem::path getCommonSource (std::list< boost::filesystem::path > sources)
boost::filesystem::path getCommonSource (const data::Image &img)
template<typename SRC , typename DST >
API_EXCLUDE_BEGIN _internal
API_EXCLUDE_END std::pair
< double, double > 
getNumericScaling (const util::ValueBase &min, const util::ValueBase &max, autoscaleOption scaleopt=autoscale)
 Computes scaling and offset between two scalar value domains.
template<typename SRC , typename DST >
void numeric_convert (const SRC *src, DST *dst, size_t size, const double scale, const double offset)
 Converts data from 'src' to the type of 'dst' and stores them there.
template<typename T >
void numeric_copy (const T *src, T *dst, size_t size)

Typedef Documentation

typedef DataDebug isis::data::Debug

Definition at line 67 of file common.hpp.

typedef DataLog isis::data::Runtime

Definition at line 66 of file common.hpp.

Definition at line 374 of file valuearray_base.hpp.


Enumeration Type Documentation

Enumerator:
rowDim 
columnDim 
sliceDim 
timeDim 

Definition at line 68 of file common.hpp.

Enumerator:
x 
y 
z 
t 

Definition at line 69 of file common.hpp.


Function Documentation

template<typename HANDLE >
void isis::data::enableLog ( LogLevel  level)

Set logging level for the namespace data.

This logging level will be used for every LOG(Debug,...) and LOG(Runtime,...) within the data namespace. This is affected by by the _ENABLE_LOG and _ENABLE_DEBUG settings of the current compile and won't have an effect on the Debug or Runtime logging if the corresponding define is set to "0". So if you compile with "-D_ENABLE_DEBUG=0" against a library which (for example) was comiled with "-D_ENABLE_DEBUG=1", you won't be able to change the logging level of the debug messages of these library.

Definition at line 79 of file common.hpp.

template<typename T >
static _internal T isis::data::endianSwap ( const T &  var) [static]

Definition at line 94 of file endianess.hpp.

template<typename ITER , typename TITER >
static void isis::data::endianSwapArray ( const ITER  begin,
const ITER  end,
TITER  target 
) [static]

Definition at line 98 of file endianess.hpp.

boost::filesystem::path isis::data::getCommonSource ( const std::list< data::Image > &  imgs)

Definition at line 156 of file common.cpp.

boost::filesystem::path isis::data::getCommonSource ( std::list< boost::filesystem::path >  sources)

Definition at line 141 of file common.cpp.

boost::filesystem::path isis::data::getCommonSource ( const data::Image &  img)

Definition at line 171 of file common.cpp.

template<typename SRC , typename DST >
API_EXCLUDE_BEGIN _internal API_EXCLUDE_END std::pair<double, double> isis::data::getNumericScaling ( const util::ValueBase &  min,
const util::ValueBase &  max,
autoscaleOption  scaleopt = autoscale 
)

Computes scaling and offset between two scalar value domains.

The rules are:

  • If the value range defined by min and max does not fit into the domain of dst they will be scaled
  • scale "around 0" if 0 is part of the source value range.
  • elsewise values will be offset towards 0 if the value range of the source does not fit the destination.
  • if destination is unsigned, values will be offset to be in positive domain if necessary.
  • if destination is floating point no scaling is done at all (scale factor will be 1, offset will be 0). The scaling strategies are:
  • autoscale: do not scale up (scale <=1) if src is an integer type, otherwise also do upscaling
  • noupscale: never scale up (scale <=1)
  • upscale: enforce upscaling even if SRC is an integer type
  • noscale: do not scale at all (scale==1)
    Parameters:
    minthe smallest value of the source data
    maxthe biggest value of the source data
    scaleoptenum to tweak the scaling strategy

Definition at line 216 of file numeric_convert.hpp.

template<typename SRC , typename DST >
void isis::data::numeric_convert ( const SRC *  src,
DST *  dst,
size_t  size,
const double  scale,
const double  offset 
)

Converts data from 'src' to the type of 'dst' and stores them there.

If the value range defined by min and max does not fit into the domain of dst they will be scaled using the following rules:

  • scale "around 0" if 0 is part of the source value range.
  • elsewise values will be offset towards 0 if the value range of the source does not fit the destination.
  • if destination is unsigned, values will be offset to be in positive domain if necessary.
  • if destination is floating point no scaling is done at all. If dst is shorter than src, no conversion is done. If src is shorter than dst a warning is send to CoreLog. The conversion itself is equivalent to dst[i] = round( src[i] * scale + offset )
    Parameters:
    srcdata to be converted
    dsttarget where to convert src to
    sizethe amount of elements to be converted
    scalethe scaling factor
    offsetthe offset

Definition at line 294 of file numeric_convert.hpp.

template<typename T >
void isis::data::numeric_copy ( const T *  src,
T *  dst,
size_t  size 
)

Definition at line 301 of file numeric_convert.hpp.