3 #include <boost/lexical_cast.hpp> 11 .def(luabind::constructor<
const blitz::Array<double, 1>&,
12 const blitz::Array<bool, 1>&,
14 const std::string&>())
20 const std::vector<int>& Pixel_list,
24 for (
int i = 0; i < (int) Pixel_list.size(); i++) {
25 grid_ad(i) = Pixel_grid.
data_ad()(Pixel_list[i]);
29 apply_scaling(grid_sd, Radiance);
40 std::string res =
"Radiance Scaling " + band_name;
44 res +=
" Slope, Ref: " + boost::lexical_cast<std::string>(band_ref.value) +
" " + band_ref.units.name();
46 res +=
" Coefficient " + boost::lexical_cast<std::string>(i + 1);
52 Os <<
"RadianceScalingSvFit:" << std::endl;
void resize_number_variable(int nvar)
virtual void print(std::ostream &Os) const
This is a filtering stream that adds a pad to the front of every line written out.
Implements a fitted radiance scaling correction.
virtual void print(std::ostream &Os) const
For different instruments, it is more natural to either work with wavenumbers (e.g., GOSAT) or wavelength (e.g., OCO).
const ArrayAd< double, 1 > & data_ad() const
Underlying data, possibly with a Jacobian.
#define REGISTER_LUA_DERIVED_CLASS(X, Y)
Apply value function to a blitz array.
virtual boost::shared_ptr< InstrumentCorrection > clone() const
Clone an InstrumentCorrection object.
virtual std::string state_vector_name_i(int i) const
Return state vector name for ith entry in coeff.
We frequently have a double with units associated with it.
int number_variable() const
We have a number of different spectrums that appear in different parts of the code.
const Unit units() const
Units that go with data()
Contains classes to abstract away details in various Spurr Radiative Transfer software.
#define REGISTER_LUA_END()
virtual void apply_correction(const SpectralDomain &Pixel_grid, const std::vector< int > &Pixel_list, SpectralRange &Radiance) const
Apply correction to radiance values, in place.
This class models an Instrument correction.