@@ -60,6 +60,7 @@ bool optimize_integrated_fit_params(data_struct::Analysis_Job<double> * analysis
6060 const data_struct::Params_Override<double >* const params_override,
6161 std::string save_filename,
6262 data_struct::Fit_Parameters<double >& out_fitp,
63+ ArrayTr<double >* custom_background,
6364 Callback_Func_Status_Def* status_callback)
6465{
6566 fitting::models::Gaussian_Model<double > model;
@@ -96,7 +97,7 @@ bool optimize_integrated_fit_params(data_struct::Analysis_Job<double> * analysis
9697 model.set_fit_params_preset (analysis_job->optimize_fit_params_preset );
9798 }
9899 // Initialize the fit routine
99- fit_routine->initialize (&model, ¶ms_override->elements_to_fit , energy_range);
100+ fit_routine->initialize (&model, ¶ms_override->elements_to_fit , energy_range, custom_background );
100101
101102 model.print_fit_params ();
102103
@@ -382,7 +383,7 @@ void load_and_fit_quatification_datasets(data_struct::Analysis_Job<double>* anal
382383 // Update fit parameters by override values
383384 model.update_fit_params_values (&(override_params->fit_params ));
384385 // Initialize the fit routine
385- fit_routine->initialize (&model, &elements_to_fit, energy_range);
386+ fit_routine->initialize (&model, &elements_to_fit, energy_range, nullptr );
386387 // Fit the spectra
387388 fit_routine->fit_spectra (&model, &quantification_standard->integrated_spectra , &elements_to_fit, quantification_standard->element_counts [fit_itr.first ]);
388389
@@ -712,7 +713,7 @@ bool find_and_optimize_roi(data_struct::Analysis_Job<double>& analysis_job,
712713
713714 data_struct::Fit_Parameters<double > out_fitp;
714715 std::string roi_name = roi_itr.first ;
715- if (false == optimize_integrated_fit_params (&analysis_job, int_spectra, detector_num, params_override, sfile_name + " _roi_" + roi_name + " _det_" , out_fitp, status_callback))
716+ if (false == optimize_integrated_fit_params (&analysis_job, int_spectra, detector_num, params_override, sfile_name + " _roi_" + roi_name + " _det_" , out_fitp, nullptr , status_callback))
716717 {
717718 logE << " Failed to optimize ROI " << file_path<<" : " << roi_name<<" .\n " ;
718719 }
@@ -773,8 +774,7 @@ bool find_and_optimize_roi(data_struct::Analysis_Job<double>& analysis_job,
773774
774775void optimize_single_roi (data_struct::Analysis_Job<double >& analysis_job,
775776 std::string roi_file_name,
776- std::map<int , std::map<std::string,
777- data_struct::Fit_Parameters<double >>> & out_roi_fit_params,
777+ std::map<int , std::map<std::string, data_struct::Fit_Parameters<double >>> & out_roi_fit_params,
778778 Callback_Func_Status_Def* status_callback)
779779{
780780 // std::map<int, std::vector<std::pair<unsigned int, unsigned int>>> rois;
0 commit comments