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 Types | Public Member Functions | Public Attributes | List of all members
Core::ArrayMathProgram Class Reference
Inheritance diagram for Core::ArrayMathProgram:
Core::Lockable

Public Types

typedef boost::signals2::signal< void(double) > update_progress_signal_type
 
- Public Types inherited from Core::Lockable
typedef boost::mutex mutex_type
 
typedef boost::unique_lock< mutex_type > lock_type
 

Public Member Functions

 ArrayMathProgram (size_type array_size, size_type buffer_size, int num_threads=-1)
 Constructor that allows overloading the default optimization parameters.
 
size_type get_buffer_size ()
 
int get_num_threads ()
 Get the number of threads.
 
size_type get_array_size ()
 Set the size of the array to process.
 
void set_array_size (size_type array_size)
 
bool add_source (std::string &name, DataBlockHandle data_block)
 
bool add_source (std::string &name, MaskDataBlockHandle mask_data_block)
 
bool add_sink (std::string &name, DataBlockHandle data_block)
 
void resize_const_variables (size_t sz)
 
void resize_single_variables (size_t sz)
 
void resize_sequential_variables (size_t sz)
 
void resize_const_functions (size_t sz)
 
void resize_single_functions (size_t sz)
 
void resize_sequential_functions (size_t sz)
 
float * create_buffer (size_t size)
 Central buffer for all parameters.
 
void set_const_variable (size_t j, ArrayMathProgramVariableHandle &handle)
 Set variables which we use as temporal information structures.
 
void set_single_variable (size_t j, ArrayMathProgramVariableHandle &handle)
 
void set_sequential_variable (size_t j, size_t np, ArrayMathProgramVariableHandle &handle)
 
ArrayMathProgramVariableHandle get_const_variable (size_t j)
 
ArrayMathProgramVariableHandle get_single_variable (size_t j)
 
ArrayMathProgramVariableHandle get_sequential_variable (size_t j, size_t np)
 
void set_const_program_code (size_t j, ArrayMathProgramCode &pc)
 Set program code.
 
void set_single_program_code (size_t j, ArrayMathProgramCode &pc)
 
void set_sequential_program_code (size_t j, size_t np, ArrayMathProgramCode &pc)
 
bool find_source (std::string &name, ArrayMathProgramSource &ps)
 Code to find the pointers that are given for sources and sinks.
 
bool find_sink (std::string &name, ArrayMathProgramSource &ps)
 
bool run_const (size_t &error_line)
 
bool run_single (size_t &error_line)
 
bool run_sequential (size_t &error_line)
 
void set_parser_program (ParserProgramHandle handle)
 
ParserProgramHandle get_parser_program ()
 
- Public Member Functions inherited from Core::Lockable
mutex_type & get_mutex () const
 

Public Attributes

update_progress_signal_type update_progress_signal_
 

Member Function Documentation

size_type Core::ArrayMathProgram::get_buffer_size ( )

Get the optimization parameters, these can only be set when creating the object as it depends on allocated buffer sizes and those are hard to change when allocated Get the number of entries that are processed at once

Member Data Documentation

update_progress_signal_type Core::ArrayMathProgram::update_progress_signal_

When new information on progress is available this signal is triggered. If this signal is triggered it should end with a value 1.0 indicating that progress reporting has finised. Progress is measured between 0.0 and 1.0.


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