Seg3D  2.4
Seg3D is a free volume segmentation and processing tool developed by the NIH Center for Integrative Biomedical Computing at the University of Utah Scientific Computing and Imaging (SCI) Institute.
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
Core::MaskDataBlockManager Class Reference
Inheritance diagram for Core::MaskDataBlockManager:
Core::RecursiveLockable

Public Member Functions

bool create (GridTransform grid_transform, MaskDataBlockHandle &mask)
 Create a new mask layer.
 
bool create (DataBlock::generation_type generation, unsigned int bit, GridTransform &grid_transform, MaskDataBlockHandle &mask)
 Create a new mask layer with a given generation number and bit.
 
void clear ()
 Remove all the MaskDataBlock.
 
void register_data_block (DataBlockHandle data_block, const GridTransform &grid_transform)
 
bool compact ()
 
- Public Member Functions inherited from Core::RecursiveLockable
mutex_type & get_mutex () const
 

Static Public Member Functions

static bool Create (GridTransform grid_transform, MaskDataBlockHandle &mask)
 Create a new MaskDataBlock with a given GridTransform.
 
static bool Inscribe (MaskDataBlockHandle mask, DataBlockHandle data, double label, bool invert=false)
 
static bool Convert (MaskDataBlockHandle mask, DataBlockHandle &data, DataType data_type, bool invert=false)
 Convert a MaskDataBlock into a DataBlock.
 
static bool ConvertLabel (MaskDataBlockHandle mask, DataBlockHandle &data, DataType data_type, double label=1.0)
 Convert a MaskDataBlock into a DataBlock.
 
static bool Convert (DataBlockHandle data, GridTransform grid_transform, MaskDataBlockHandle &mask, bool invert=false)
 Convert a DataBlock into a MaskDataBlock.
 
static bool ConvertLargerThan (DataBlockHandle data, GridTransform grid_transform, MaskDataBlockHandle &mask, bool invert=false)
 
static bool ConvertLabel (DataBlockHandle data, GridTransform grid_transform, MaskDataBlockHandle &mask, double label)
 Convert a DataBlock into a MaskDataBlock by checking for a certain value.
 
static bool CreateMaskFromNonZeroData (const DataBlockHandle &data, const GridTransform &grid_transform, MaskDataBlockHandle &mask)
 Create a mask from the non zero data contained in a datablock.
 
static bool CreateMaskFromBitPlaneData (const DataBlockHandle &data, const GridTransform &grid_transform, std::vector< MaskDataBlockHandle > &masks)
 Create a mask from each bitplane in integer data.
 
static bool CreateMaskFromLabelData (const DataBlockHandle &data, const GridTransform &grid_transform, std::vector< MaskDataBlockHandle > &masks)
 
static bool Duplicate (MaskDataBlockHandle src_mask_data_block, const GridTransform &grid_transform, MaskDataBlockHandle &dst_mask_data_block)
 Duplicate a MaskDataBlock into a DataBlock.
 

Protected Member Functions

void release (DataBlockHandle &datablock, unsigned int mask_bit)
 

Friends

class MaskDataBlock
 

Additional Inherited Members

- Public Types inherited from Core::RecursiveLockable
typedef boost::recursive_mutex mutex_type
 
typedef boost::unique_lock< mutex_type > lock_type
 

Member Function Documentation

bool Core::MaskDataBlockManager::compact ( )

Compact the masks into less memory if possible by moving them around to compact the space required.

bool Core::MaskDataBlockManager::ConvertLargerThan ( DataBlockHandle  data,
GridTransform  grid_transform,
MaskDataBlockHandle &  mask,
bool  invert = false 
)
static

Convert a DataBlock into a MaskDataBlock Only values larger than zero are considered part of the mask.

bool Core::MaskDataBlockManager::Inscribe ( MaskDataBlockHandle  mask,
DataBlockHandle  data,
double  label,
bool  invert = false 
)
static

Inscribe a mask into a datablock with a certain label value. Both mask and data need to have been created before.

void Core::MaskDataBlockManager::release ( DataBlockHandle &  datablock,
unsigned int  mask_bit 
)
protected

Function that is called by the destructor of the MaskDataBlock to inform that a bitplane can be reused or that a DataBlock can be released


The documentation for this class was generated from the following files: