Medial Code Documentation
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
DoCalcFeatProcessor Class Reference

User defined calculations on other features. More...

#include <DoCalcFeatProcessor.h>

Inheritance diagram for DoCalcFeatProcessor:
FeatureProcessor SerializableObject

Public Member Functions

void init_defaults ()
 
int init (map< string, string > &mapper)
 The parsed fields from init command.
 
int _apply (MedFeatures &features, unordered_set< int > &ids)
 
void sum (vector< float * > p_sources, float *p_out, int n_samples)
 
void chads2 (vector< float * > p_sources, float *p_out, int n_samples, int vasc_flag, int max_flag)
 
void has_bled (vector< float * > p_sources, float *p_out, int n_samples, int max_flag)
 
void fragile (vector< float * > p_sources, float *p_out, int n_samples)
 
void framingham_chd (vector< float * > p_sources, float *p_out, int n_samples)
 
void do_boolean_condition (vector< float * > p_sources, float *p_out, int n_samples)
 
void do_boolean_condition_ignore_missing (vector< float * > p_sources, float *p_out, int n_samples)
 
void do_not (vector< float * > p_sources, float *p_out, int n_samples)
 
void _log (vector< float * > p_sources, float *p_out, int n_samples)
 
void do_threshold (vector< float * > p_sources, float *p_out, int n_samples)
 
bool are_features_affected (unordered_set< string > &out_req_features)
 check if a set of features is affected by the current processor
 
void update_req_features_vec (unordered_set< string > &out_req_features, unordered_set< string > &in_req_features)
 update sets of required as input according to set required as output to processor
 
virtual void copy (FeatureProcessor *processor)
 
- Public Member Functions inherited from FeatureProcessor
virtual string select_learn_matrix (const vector< string > &matrix_tags) const
 Will be called before learn to create new version for the matrix if needed - in parallel of existing matrix.
 
virtual void clear ()
 
void init_defaults ()
 
virtual void set_feature_name (const string &feature_name)
 
virtual string get_feature_name ()
 
virtual void get_feature_names (vector< string > &feature_names)
 
virtual int Learn (MedFeatures &features, unordered_set< int > &ids)
 
int learn (MedFeatures &features)
 PostProcess of MedFeatures - on all ids.
 
int learn (MedFeatures &features, unordered_set< int > &ids)
 
virtual int _apply (MedFeatures &features, unordered_set< int > &ids, bool learning)
 
virtual int _conditional_apply (MedFeatures &features, unordered_set< int > &ids, unordered_set< string > &req_features, bool learning)
 
int apply (MedFeatures &features, bool learning)
 PostProcess of MedFeatures - on all or a subset of the ids calls virtaul function "_apply/_conditional_apply" for the specific implementation.
 
int apply (MedFeatures &features, unordered_set< string > &req_features, bool learning)
 
int apply (MedFeatures &features, unordered_set< int > &ids, bool learning)
 
int apply (MedFeatures &features, unordered_set< int > &ids, unordered_set< string > &req_features, bool learning)
 
int apply (MedFeatures &features)
 
int apply (MedFeatures &features, unordered_set< string > &req_features)
 
int apply (MedFeatures &features, unordered_set< int > &ids)
 
int apply (MedFeatures &features, unordered_set< int > &ids, unordered_set< string > &req_features)
 
virtual int init (void *processor_params)
 
virtual int filter (unordered_set< string > &features)
 Filter according to a subset of features.
 
string resolve_feature_name (MedFeatures &features, string substr)
 Utility : get corresponding name in MedFeatures.
 
virtual bool is_selector ()
 allows testing if this feature processor is a selector
 
void * new_polymorphic (string derived_class_name)
 for polymorphic classes that want to be able to serialize/deserialize a pointer * to the derived class given its type one needs to implement this function to return a new to the derived class given its type (as in my_type)
 
size_t get_processor_size ()
 
size_t processor_serialize (unsigned char *blob)
 
virtual void dprint (const string &pref, int rp_flag)
 
- Public Member Functions inherited from SerializableObject
virtual int version () const
 Relevant for serializations.
 
virtual string my_class_name () const
 For better handling of serializations it is highly recommended that each SerializableObject inheriting class will implement the next method.
 
virtual void serialized_fields_name (vector< string > &field_names) const
 The names of the serialized fields.
 
virtual void pre_serialization ()
 
virtual void post_deserialization ()
 
virtual size_t get_size ()
 Gets bytes sizes for serializations.
 
virtual size_t serialize (unsigned char *blob)
 Serialiazing object to blob memory. return number ob bytes wrote to memory.
 
virtual size_t deserialize (unsigned char *blob)
 Deserialiazing blob to object. returns number of bytes read.
 
size_t serialize_vec (vector< unsigned char > &blob)
 
size_t deserialize_vec (vector< unsigned char > &blob)
 
virtual size_t serialize (vector< unsigned char > &blob)
 
virtual size_t deserialize (vector< unsigned char > &blob)
 
virtual int read_from_file (const string &fname)
 read and deserialize model
 
virtual int write_to_file (const string &fname)
 serialize model and write to file
 
virtual int read_from_file_unsafe (const string &fname)
 read and deserialize model without checking version number - unsafe read
 
int init_from_string (string init_string)
 Init from string.
 
int init_params_from_file (string init_file)
 
int init_param_from_file (string file_str, string &param)
 
int update_from_string (const string &init_string)
 
virtual int update (map< string, string > &map)
 Virtual to update object from parsed fields.
 
virtual string object_json () const
 

Data Fields

int serial_id
 
string raw_target_feature_name = ""
 target_feature_name as specified by the user, will be decorated for uniqueness and extra information
 
vector< string > raw_source_feature_names
 source_feature_names as specified by the user, will be resolved to decorated names
 
vector< string > source_feature_names
 
vector< string > parameters
 general-purpose parameters which can be used by the calc
 
string calc_type
 user function selector (e.g. sum, ratio)
 
float missing_value
 when a source_feature == missing_value, the calculation would also be missing_value
 
vector< float > weights
 for sum
 
vector< string > tags
 Tags - for defining labels or groups. may be used later for filtering for example.
 
- Data Fields inherited from FeatureProcessor
string feature_name = "unset_feature_name"
 Feature name ( + name as appears in MedFeatures) ;.
 
string resolved_feature_name
 
FeatureProcessorTypes processor_type = FTR_PROCESS_LAST
 
int learn_nthreads
 
int clean_nthreads
 

Additional Inherited Members

- Static Public Member Functions inherited from FeatureProcessor
static FeatureProcessormake_processor (string processor_name)
 
static FeatureProcessormake_processor (FeatureProcessorTypes type)
 
static FeatureProcessormake_processor (string processor_name, string params)
 
static FeatureProcessormake_processor (FeatureProcessorTypes type, string params)
 

Detailed Description

User defined calculations on other features.


NOTE: it is the user responsibility to put these generators after their source features generators

Member Function Documentation

◆ _apply()

int DoCalcFeatProcessor::_apply ( MedFeatures features,
unordered_set< int > &  ids 
)
virtual

Reimplemented from FeatureProcessor.

◆ are_features_affected()

bool DoCalcFeatProcessor::are_features_affected ( unordered_set< string > &  out_req_features)
virtual

check if a set of features is affected by the current processor

Reimplemented from FeatureProcessor.

◆ copy()

virtual void DoCalcFeatProcessor::copy ( FeatureProcessor processor)
inlinevirtual

Reimplemented from FeatureProcessor.

◆ init()

int DoCalcFeatProcessor::init ( map< string, string > &  mapper)
virtual

The parsed fields from init command.

if (field == "name")
raw_target_feature_name = entry.second;
else if (field == "calc_type")
calc_type = entry.second;
else if (field == "source_feature_names")
split(raw_source_feature_names, entry.second, boost::is_any_of(","));
else if (field == "parameters")
split(parameters, entry.second, boost::is_any_of(","));
else if (field == "tags")
split(tags, entry.second, boost::is_any_of(","));
else if (field == "missing_value")
missing_value = med_stof(entry.second);
else if (field == "weights") {
weights.clear();
vector<string> vals;
split(vals, entry.second, boost::is_any_of(","));
for (string& s : vals)
weights.push_back(stof(s));
}
else if (field != "fp_type")
MLOG("Unknown parameter [%s] for DoCalcFeatProcessor\n", field.c_str());
#define MLOG(fmt,...)
MLOG() - use LOCAL_SECTION and LOCAL_LEVEL.
Definition Logger.h:145
vector< string > tags
Tags - for defining labels or groups. may be used later for filtering for example.
Definition DoCalcFeatProcessor.h:35
vector< float > weights
for sum
Definition DoCalcFeatProcessor.h:32
vector< string > raw_source_feature_names
source_feature_names as specified by the user, will be resolved to decorated names
Definition DoCalcFeatProcessor.h:18
string raw_target_feature_name
target_feature_name as specified by the user, will be decorated for uniqueness and extra information
Definition DoCalcFeatProcessor.h:15
string calc_type
user function selector (e.g. sum, ratio)
Definition DoCalcFeatProcessor.h:26
float missing_value
when a source_feature == missing_value, the calculation would also be missing_value
Definition DoCalcFeatProcessor.h:29
vector< string > parameters
general-purpose parameters which can be used by the calc
Definition DoCalcFeatProcessor.h:23

[DoCalcFeatProcessor::init]

[DoCalcFeatProcessor::init]

Reimplemented from FeatureProcessor.

◆ update_req_features_vec()

void DoCalcFeatProcessor::update_req_features_vec ( unordered_set< string > &  out_req_features,
unordered_set< string > &  in_req_features 
)
virtual

update sets of required as input according to set required as output to processor

Reimplemented from FeatureProcessor.


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