TECA
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
teca_binary_segmentation Class Reference

an algorithm that computes a binary segmentation More...

#include <teca_binary_segmentation.h>

Inheritance diagram for teca_binary_segmentation:
teca_algorithm

Public Types

enum  { BY_VALUE =0, BY_PERCENTILE =1 }
 

Public Member Functions

std::shared_ptr< teca_binary_segmentationshared_from_this ()
 
std::shared_ptr< teca_binary_segmentation const > shared_from_this () const
 
 teca_binary_segmentation (const teca_binary_segmentation &src)=delete
 
 teca_binary_segmentation (teca_binary_segmentation &&src)=delete
 
teca_binary_segmentationoperator= (const teca_binary_segmentation &src)=delete
 
teca_binary_segmentationoperator= (teca_binary_segmentation &&src)=delete
 
const char * get_class_name () const override
 
void set_segmentation_variable (const std::string &v)
 
const std::string & get_segmentation_variable () const
 
void set_segmentation_variable_attributes (const teca_metadata &v)
 
const teca_metadataget_segmentation_variable_attributes () const
 
void set_threshold_variable (const std::string &v)
 
const std::string & get_threshold_variable () const
 
void set_low_threshold_value (const double &v)
 
const double & get_low_threshold_value () const
 
void set_high_threshold_value (const double &v)
 
const double & get_high_threshold_value () const
 
void set_threshold_mode (const int &v)
 
const int & get_threshold_mode () const
 
void set_threshold_by_percentile ()
 
void set_threshold_by_value ()
 
- Public Member Functions inherited from teca_algorithm
 teca_algorithm (const teca_algorithm &src)=delete
 
 teca_algorithm (teca_algorithm &&src)=delete
 
teca_algorithmoperator= (const teca_algorithm &src)=delete
 
teca_algorithmoperator= (teca_algorithm &&src)=delete
 
void set_communicator (MPI_Comm comm)
 
MPI_Comm get_communicator ()
 
virtual teca_algorithm_output_port get_output_port (unsigned int port=0)
 
void set_input_connection (const teca_algorithm_output_port &port)
 
virtual void set_input_connection (unsigned int id, const teca_algorithm_output_port &port)
 
virtual void remove_input_connection (unsigned int id)
 
void clear_input_connections ()
 
const_p_teca_dataset get_output_data (unsigned int port=0)
 
void pop_cache (unsigned int port=0, int top=0)
 
void set_cache_size (unsigned int n)
 
virtual int update ()
 
virtual int update (unsigned int port)
 
virtual teca_metadata update_metadata (unsigned int port=0)
 
void set_executive (p_teca_algorithm_executive exe)
 
p_teca_algorithm_executive get_executive ()
 
virtual void to_stream (std::ostream &s) const
 
virtual void from_stream (std::istream &s)
 

Static Public Member Functions

static p_teca_binary_segmentation New ()
 

Protected Member Functions

int get_segmentation_variable (std::string &segmentation_var)
 
int get_threshold_variable (std::string &threshold_var)
 
- Protected Member Functions inherited from teca_algorithm
void set_number_of_input_connections (unsigned int n)
 
void set_number_of_output_ports (unsigned int n)
 
virtual void set_modified ()
 
void set_modified (unsigned int port)
 
virtual teca_metadata get_cache_key (unsigned int port, const teca_metadata &request) const
 
virtual teca_metadata get_output_metadata (teca_algorithm_output_port &current)
 
virtual const_p_teca_dataset request_data (teca_algorithm_output_port &port, const teca_metadata &request)
 
virtual int validate_cache (teca_algorithm_output_port &current)
 
virtual void clear_modified (teca_algorithm_output_port current)
 
const_p_teca_dataset get_output_data (unsigned int port, const teca_metadata &request)
 
int cache_output_data (unsigned int port, const teca_metadata &request, const_p_teca_dataset &data)
 
void clear_cache (unsigned int port)
 
unsigned int get_number_of_input_connections ()
 
teca_algorithm_output_port & get_input_connection (unsigned int i)
 
void clear_modified (unsigned int port)
 
int get_modified (unsigned int port) const
 

Detailed Description

an algorithm that computes a binary segmentation

an algorithm that computes a binary segmentation for 1D, 2D, and 3D data. The segmentation is computed using threshold operation where values in a range (low, high] are in the segmentation (assigned 1). Values outside the range are outside of the segmentation (assigned 0).

The algorithm has 2 modes, BY_VALUE and BY_PERCENTILE. In the BY_VALUE mode, the test for inclusion is applied on the raw data. In the BY_PERCENTILE mode the range is given in percentiles and each data point is converted to a percentile before applying the test for inclusion.


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