21 if(band_noise_coeffs_.size() <= Spec_index)
22 band_noise_coeffs_.resize(Spec_index+1);
23 band_noise_coeffs_[Spec_index].reference(Noise_coeff);
33 Array<double, 1> uncert = base_model_->uncertainty(Spec_index, Radiance);
34 if (band_noise_coeffs_.size() <= Spec_index or band_noise_coeffs_[Spec_index].rows() == 0)
37 Range all = Range::all();
38 uncert(all) = uncert(all) * band_noise_coeffs_[Spec_index](all);
44 Os <<
"Spectrally Resolved Noise Modification:" << std::endl;
46 opad <<
"Coefficient sizes:" << std::endl;
47 for(
int spec_idx = 0; spec_idx < band_noise_coeffs_.size(); spec_idx++)
48 opad <<
" [" << spec_idx <<
"]: " << band_noise_coeffs_[spec_idx].rows() << std::endl;
virtual void set_noise_coefficients(int Spec_index, const blitz::Array< double, 1 > Noise_coeff)
Add noise coefficents for a given band index.
virtual blitz::Array< double, 1 > uncertainty(int Spec_index, const blitz::Array< double, 1 > &Radiance) const
Applies spectrally resolved noise coefficents to base model's uncertainty.
This is a filtering stream that adds a pad to the front of every line written out.
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Adds a spectrally varying modification to an existing noise model.
Apply value function to a blitz array.
virtual void print(std::ostream &Os) const
Print description of object.
Interface for calculating noise/uncertainty values from radiance data given some internal representat...
Contains classes to abstract away details in various Spurr Radiative Transfer software.
#define REGISTER_LUA_END()