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.
All Classes Namespaces Functions Variables Typedefs Enumerator Friends
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: