38 _use_layer_as_ref( useLayerAsRef ),
49 _use_layer_as_ref( true ),
70 int dim = samplerPtr->numIndependent();
71 Sample smin(dim), smax(dim);
73 bool get_minmax_from_sampler =
true;
83 envPtr->getMinMax( &smin, &smax );
85 get_minmax_from_sampler =
false;
89 Log::instance()->
warn(
"Sampler has no environment. ScaleNormalizaer will get min/max directly from samples instead.\n");
94 Log::instance()->
debug(
"Using min/max from input samples as reference for normalization.\n");
97 if ( get_minmax_from_sampler ) {
99 samplerPtr->getMinMax( &smin, &smax );
105 for (
int i = 0; i < dim; ++i ) {
107 if ( smax[i] == smin[i] ) {
109 Log::instance()->
warn(
"Min/max values for variable %d are the same during normalization!\n", (i+1));
127 if ( samplePtr->
size() != 0 ) {
140 config->addNameValue(
"Class",
"ScaleNormalizer" );
144 config->addNameValue(
"UseLayerAsRef", temp_val );
146 config->addNameValue(
"Min",
_min );
147 config->addNameValue(
"Max",
_max );
149 config->addNameValue(
"Offsets",
_offsets );
150 config->addNameValue(
"Scales",
_scales );
159 int temp_val = config->getAttributeAsInt(
"UseLayerAsRef", 1 );
163 _min = config->getAttributeAsDouble(
"Min", 0.0 );
164 _max = config->getAttributeAsDouble(
"Max", 1.0 );
166 _offsets = config->getAttributeAsSample(
"Offsets" );
167 _scales = config->getAttributeAsSample(
"Scales" );
void warn(const char *format,...)
'Warn' level.
void setConfiguration(const ConstConfigurationPtr &)
void computeNormalization(const ReferenceCountedPointer< const SamplerImpl > &samplerPtr)
double Scalar
Type of map values.
static Log * instance()
Returns the instance pointer, creating the object on the first call.
void normalize(Sample *samplePtr)
ConfigurationPtr getConfiguration() const
void resize(std::size_t size)
void debug(const char *format,...)
'Debug' level.