|
TECA
The Toolkit for Extreme Climate Analysis
|
an algorithm that computes connected component labeling More...
#include <teca_connected_components.h>
Public Member Functions | |
| std::shared_ptr< teca_connected_components > | shared_from_this () |
| std::shared_ptr< teca_connected_components const > | shared_from_this () const |
| teca_connected_components (const teca_connected_components &src)=delete | |
| teca_connected_components (teca_connected_components &&src)=delete | |
| teca_connected_components & | operator= (const teca_connected_components &src)=delete |
| teca_connected_components & | operator= (teca_connected_components &&src)=delete |
| const char * | get_class_name () const override |
segmentation_variable | |
Set the input array containing a binary segmentation. See teca_binary_segmentation | |
| void | set_segmentation_variable (const std::string &v) |
| const std::string & | get_segmentation_variable () const |
| void | get_segmentation_variable (std::string &var) const |
component_variable | |
Set the name of the output array to store the component labels in. | |
| void | set_component_variable (const std::string &v) |
| const std::string & | get_component_variable () const |
| void | get_component_variable (std::string &var) const |
Public Member Functions inherited from teca_algorithm | |
| teca_algorithm (const teca_algorithm &src)=delete | |
| teca_algorithm (teca_algorithm &&src)=delete | |
| teca_algorithm & | operator= (const teca_algorithm &src)=delete |
| teca_algorithm & | operator= (teca_algorithm &&src)=delete |
| void | set_communicator (MPI_Comm comm) |
| MPI_Comm | get_communicator () |
| get the active communicator More... | |
| virtual teca_algorithm_output_port | get_output_port (unsigned int port=0) |
| void | set_input_connection (const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | set_input_connection (unsigned int id, const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | remove_input_connection (unsigned int id) |
| remove input connections More... | |
| void | clear_input_connections () |
| remove all input connections More... | |
| 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) |
| set the cache size. the default is 1. (threadsafe) More... | |
| virtual int | update () |
| execute the pipeline from this instance up. More... | |
| virtual int | update (unsigned int port) |
| execute the pipeline from this instance up. More... | |
| virtual teca_metadata | update_metadata (unsigned int port=0) |
| get meta data considering this instance up. More... | |
| void | set_executive (p_teca_algorithm_executive exe) |
| set the executive More... | |
| p_teca_algorithm_executive | get_executive () |
| get the executive More... | |
| virtual void | to_stream (std::ostream &s) const |
| virtual void | from_stream (std::istream &s) |
| deserialize from the stream. More... | |
| void | set_verbose (const int &v) |
| const int & | get_verbose () const |
Static Public Member Functions | |
| static p_teca_connected_components | New () |
Additional Inherited Members | |
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) |
| an overload to set_modified by port More... | |
| virtual teca_metadata | get_cache_key (unsigned int port, const teca_metadata &request) const |
| virtual teca_metadata | get_output_metadata (teca_algorithm_output_port ¤t) |
| virtual const_p_teca_dataset | request_data (teca_algorithm_output_port &port, const teca_metadata &request) |
| virtual int | validate_cache (teca_algorithm_output_port ¤t) |
| 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) |
| clear the cache on the given output port More... | |
| unsigned int | get_number_of_input_connections () |
| get the number of input connections More... | |
| teca_algorithm_output_port & | get_input_connection (unsigned int i) |
| void | clear_modified (unsigned int port) |
| clear the modified flag on the i'th output More... | |
| int | get_modified (unsigned int port) const |
| return the output port's modified flag value More... | |
Protected Attributes inherited from teca_algorithm | |
| int | verbose |
an algorithm that computes connected component labeling
an algorithm that computes connected component labeling for 1D, 2D, and 3D data. The components are computed from a binary segmentation provided on the input.
the input binary segmentation is labeled and stored in a variable named by the component_variable property. the component ids are added to the output dataset metadata in an key named 'component_ids', and the number of components is stored in a key named 'number_of_components'. These keys facilitate further processing as one need not scan the labeled data to get the list of label ids.
The cells outside of the segmentation (i.e. the background) are always assigned the label 0. The cells belonging to connected regions inside the segmentation are labeled starting from 1 up to number_of_components - 1.
output keys:
| name | description |
|---|---|
| number_of_components | number of component ids found. this will always be |
| at least 1 long as the cells outside the segmentation | |
| are assigned the label 0. | |
| component_ids | a vector containing the label of each component. This is |
| always starts with 0, where the label 0 identifies cells | |
| out side of the segmentation, and ranges up to | |
| number_of_components - 1, where the labels from 1 up to | |
| number_of_components - 1 identify connected regions of | |
| cells inside the segmentation. | |
| background_id | the label used for cells outside of the segmentation, |
| i.e. the background. always 0. |
|
inlineoverridevirtual |
returns the name of the class
Implements teca_algorithm.
|
inline |
Get the value of the component_variable algorithm property
|
inline |
Get the value of the segmentation_variable algorithm property
|
inlinestatic |
Returns an instance of teca_connected_components
|
inline |
Set the value of the component_variable algorithm property
|
inline |
Set the value of the segmentation_variable algorithm property
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor