Skip to content

Commit 5948b8e

Browse files
author
Arthur Glowacki
committed
Merge with remote
2 parents a856789 + c055756 commit 5948b8e

6 files changed

Lines changed: 28 additions & 15 deletions

File tree

src/core/process_streaming.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,15 @@ DLL_EXPORT data_struct::Stream_Block<T_real>* proc_spectra_block( data_struct::S
7373
{
7474
stream_block->fitting_blocks[itr.first].fit_counts[el_itr.first] = counts_dict[el_itr.first] / stream_block->spectra->elapsed_livetime();
7575
}
76-
stream_block->fitting_blocks[itr.first].fit_counts[STR_NUM_ITR] = counts_dict[STR_NUM_ITR];
76+
if(counts_dict.count(STR_NUM_ITR) > 0)
77+
{
78+
stream_block->fitting_blocks[itr.first].fit_counts[STR_NUM_ITR] = counts_dict[STR_NUM_ITR];
79+
}
80+
if(counts_dict.count(STR_RESIDUAL) > 0)
81+
{
82+
stream_block->fitting_blocks[itr.first].fit_counts[STR_RESIDUAL] = counts_dict[STR_RESIDUAL];
83+
}
84+
stream_block->fitting_blocks[itr.first].fit_counts[STR_TOTAL_FLUORESCENCE_YIELD] = stream_block->spectra->sum() / stream_block->spectra->elapsed_livetime();
7785
}
7886
return stream_block;
7987
}

src/io/file/hdf5_io.h

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1034,9 +1034,9 @@ class DLL_EXPORT HDF5_IO
10341034
}
10351035

10361036
//-----------------------------------------------------------------------------
1037-
1038-
template<typename T_real>
1039-
bool load_spectra_vol_polar_energy_scan(std::string path, std::string filename, size_t detector_num, data_struct::Spectra_Volume<T_real>* spec_vol, data_struct::Scan_Info<T_real> &scan_info, [[maybe_unused]] bool logerr = true)
1037+
// load spectra volume as float (T_real) but scan_info as double (T_real2)
1038+
template<typename T_real, typename T_real2>
1039+
bool load_spectra_vol_polar_energy_scan(std::string path, std::string filename, size_t detector_num, data_struct::Spectra_Volume<T_real>* spec_vol, data_struct::Scan_Info<T_real2> &scan_info, bool logerr = true)
10401040
{
10411041
std::stack<std::pair<hid_t, H5_OBJECTS> > close_map;
10421042
hid_t file_id, dset_id, space_id;
@@ -1252,13 +1252,13 @@ class DLL_EXPORT HDF5_IO
12521252
scan_info.meta_info.y_axis.resize(scan_info.meta_info.requested_rows);
12531253
spec_vol->resize_and_zero(scan_info.meta_info.requested_rows, scan_info.meta_info.requested_cols, dims3[2]);
12541254

1255-
struct data_struct::Scaler_Map<T_real> energy_map;
1255+
struct data_struct::Scaler_Map<T_real2> energy_map;
12561256
energy_map.name = "Energy";
12571257
energy_map.unit = "";
12581258
energy_map.time_normalized = false;
12591259
energy_map.values.resize(scan_info.meta_info.requested_rows, scan_info.meta_info.requested_cols);
12601260

1261-
struct data_struct::Scaler_Map<T_real> i0_map;
1261+
struct data_struct::Scaler_Map<T_real2> i0_map;
12621262
i0_map.name = "I0";
12631263
i0_map.unit = "counts";
12641264
i0_map.time_normalized = false;
@@ -1269,8 +1269,8 @@ class DLL_EXPORT HDF5_IO
12691269
data_struct::ArrayTr<T_real> icr_array(dims3[0]);
12701270
data_struct::ArrayTr<T_real> ocr_array(dims3[0]);
12711271

1272-
data_struct::ArrayTr<T_real> i0_array(dims3[0]);
1273-
data_struct::ArrayTr<T_real> energy_array(dims3[0]);
1272+
data_struct::ArrayTr<T_real2> i0_array(dims3[0]);
1273+
data_struct::ArrayTr<T_real2> energy_array(dims3[0]);
12741274

12751275
err = _read_h5d<T_real>(elt_dset_id, H5S_ALL, elt_space_id, H5P_DEFAULT, elt_array.data());
12761276
if(err < 0)
@@ -1297,13 +1297,13 @@ class DLL_EXPORT HDF5_IO
12971297
ocr_array.setOnes();
12981298
}
12991299

1300-
err = _read_h5d<T_real>(energy_dset_id, H5S_ALL, energy_space_id, H5P_DEFAULT, energy_array.data());
1300+
err = _read_h5d<T_real2>(energy_dset_id, H5S_ALL, energy_space_id, H5P_DEFAULT, energy_array.data());
13011301
if(err < 0)
13021302
{
13031303
logE<< "Could not read energy data, setting it all to 1's\n";
13041304
energy_array.setOnes();
13051305
}
1306-
err = _read_h5d<T_real>(i0_dset_id, H5S_ALL, i0_space_id, H5P_DEFAULT, i0_array.data());
1306+
err = _read_h5d<T_real2>(i0_dset_id, H5S_ALL, i0_space_id, H5P_DEFAULT, i0_array.data());
13071307
if(err < 0)
13081308
{
13091309
logE<< "Could not read i0 data, setting it all to 1's\n";
@@ -6956,6 +6956,10 @@ class DLL_EXPORT HDF5_IO
69566956

69576957
_save_scalers(maps_grp_id, &(scan_info->scaler_maps), params_override->us_amp_sens_num, params_override->us_amp_sens_unit, params_override->ds_amp_sens_num, params_override->ds_amp_sens_unit);
69586958
}
6959+
else
6960+
{
6961+
_save_scalers(maps_grp_id, &(scan_info->scaler_maps), (T_real)0.0, "0.0", (T_real)0.0, "0.0");
6962+
}
69596963
_close_h5_objects(_global_close_map);
69606964

69616965
end = std::chrono::system_clock::now();

src/io/file/hl_file_io.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -846,13 +846,14 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
846846
if (dataset_file[dlen - 4] == '.' && dataset_file[dlen - 3] == 'h' && dataset_file[dlen - 2] == 'd' && dataset_file[dlen - 1] == 'f')
847847
{
848848
// try to load polar hdf master file
849-
data_struct::Scan_Info<T_real> scan_info;
849+
data_struct::Scan_Info<double> scan_info;
850850
if(true == io::file::HDF5_IO::inst()->load_spectra_vol_polar_energy_scan(dataset_directory, dataset_file, detector_num, spectra_volume, scan_info))
851851
{
852852
scan_type = STR_SCAN_TYPE_POLAR_XANES;
853853
if(io::file::HDF5_IO::inst()->start_save_seq(true))
854854
{
855-
io::file::HDF5_IO::inst()->save_scan_scalers(&scan_info, params_override);
855+
data_struct::Params_Override<double>* null_po = nullptr;
856+
io::file::HDF5_IO::inst()->save_scan_scalers(detector_num, &scan_info, null_po);
856857
return true;
857858
}
858859
else

src/support/eigen-git-mirror

Submodule eigen-git-mirror updated from e986838 to 6dbbf0a

src/support/pybind11

Submodule pybind11 updated 298 files

vcpkg

Submodule vcpkg updated 3537 files

0 commit comments

Comments
 (0)