FitFunctionFactoryImplementation<Kernel, DataTagList>::FitFunctionFactoryImplementation( const Config& config, int kernel_count, bool use_background) : disjoint_amplitudes(config.disjoint_amplitudes()), laempi_fit(config.laempi_fit()), use_background(use_background) { for (int i = 0; i < kernel_count; ++i) { std::unique_ptr<Kernel> kernel(new Kernel()); kernel->set_negligible_step_length(ToLengthUnit(config.negligible_x_step())); kernel->set_relative_epsilon(config.relative_epsilon()); model.add_kernel(kernel.get()); kernels.push_back(std::move(kernel)); } background.reset(new constant_background::Expression()); background->set_relative_epsilon(config.relative_epsilon()); model.set_constant(background.get()); }
boost::shared_ptr<DepthInfo> make_traits( Direction dir ) const { return boost::make_shared<No3D>(ToLengthUnit(psf_size()[dir])); }