Skip to content

Commit f8d24aa

Browse files
author
Arthur Glowacki
committed
Added call to remove nan's
1 parent 4d16249 commit f8d24aa

2 files changed

Lines changed: 49 additions & 3 deletions

File tree

src/io/file/hdf5_io.h

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9323,16 +9323,46 @@ class DLL_EXPORT HDF5_IO
93239323
H5Sselect_hyperslab(dataspace_id, H5S_SELECT_SET, offset, nullptr, count, nullptr);
93249324

93259325
error = _read_h5d<T_real>(dset_id, memoryspace_id, dataspace_id, H5P_DEFAULT, (void*)&(*spectra)[0]);
9326-
9326+
if (error > 0)
9327+
{
9328+
logW << "Counld not read integrated spectra \n";
9329+
_close_h5_objects(close_map);
9330+
return false;
9331+
}
9332+
spectra->set_nan_to_near_zero();
93279333
H5Sselect_hyperslab(dataspace_lt_id, H5S_SELECT_SET, offset_time, nullptr, count_time, nullptr);
93289334
H5Sselect_hyperslab(dataspace_rt_id, H5S_SELECT_SET, offset_time, nullptr, count_time, nullptr);
93299335
H5Sselect_hyperslab(dataspace_inct_id, H5S_SELECT_SET, offset_time, nullptr, count_time, nullptr);
93309336
H5Sselect_hyperslab(dataspace_outct_id, H5S_SELECT_SET, offset_time, nullptr, count_time, nullptr);
93319337

93329338
error = _read_h5d<T_real>(dset_rt_id, memoryspace_meta_id, dataspace_rt_id, H5P_DEFAULT, (void*)&real_time);
9339+
if (error > 0)
9340+
{
9341+
logW << "Counld not read real time for spectra \n";
9342+
_close_h5_objects(close_map);
9343+
return false;
9344+
}
93339345
error = _read_h5d<T_real>(dset_lt_id, memoryspace_meta_id, dataspace_lt_id, H5P_DEFAULT, (void*)&live_time);
9346+
if (error > 0)
9347+
{
9348+
logW << "Counld not read elapsed live time for spectra \n";
9349+
_close_h5_objects(close_map);
9350+
return false;
9351+
}
93349352
error = _read_h5d<T_real>(dset_incnt_id, memoryspace_meta_id, dataspace_inct_id, H5P_DEFAULT, (void*)&in_cnt);
9353+
if (error > 0)
9354+
{
9355+
logW << "Counld not read input counts for spectra \n";
9356+
_close_h5_objects(close_map);
9357+
return false;
9358+
}
93359359
error = _read_h5d<T_real>(dset_outcnt_id, memoryspace_meta_id, dataspace_outct_id, H5P_DEFAULT, (void*)&out_cnt);
9360+
if (error > 0)
9361+
{
9362+
logW << "Counld not read output counts for spectra \n";
9363+
_close_h5_objects(close_map);
9364+
return false;
9365+
}
93369366

93379367
spectra->elapsed_livetime(live_time);
93389368
spectra->elapsed_realtime(real_time);

src/io/file/hl_file_io.h

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,13 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
871871
std::string file_middle = ""; //_2xfm3_, dxpM, or file index in case of bnp...
872872
std::string bnp_netcdf_base_name = "bnp_fly_";
873873
std::vector<int> bad_rows;
874+
875+
if(spectra_volume == nullptr)
876+
{
877+
logE<<"spectra_volume valriable passed in is null!\n";
878+
return false;
879+
}
880+
874881
for (auto& itr : io::file::File_Scan::inst()->netcdf_files())
875882
{
876883
if (itr.find(tmp_dataset_file) == 0)
@@ -964,6 +971,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
964971
data_struct::Scan_Info<double> scan_info;
965972
if(true == io::file::HDF5_IO::inst()->load_spectra_vol_polar_energy_scan(dataset_directory, dataset_file, detector_num, spectra_volume, scan_info, params_override))
966973
{
974+
spectra_volume->set_nan_to_near_zero();
967975
scan_type = STR_SCAN_TYPE_POLAR_XANES;
968976
if(io::file::HDF5_IO::inst()->start_save_seq(true))
969977
{
@@ -1046,6 +1054,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
10461054

10471055
spectra_volume->resize_and_zero(1, 1, spec.size());
10481056
(*spectra_volume)[0][0] = spec;
1057+
spectra_volume->set_nan_to_near_zero();
10491058
io::file::HDF5_IO::inst()->start_save_seq(true);
10501059

10511060
// add ELT, ERT, INCNT, OUTCNT to scaler map
@@ -1082,6 +1091,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
10821091
{
10831092
logI << "Loaded spectra volume from h5.\n";
10841093
*is_loaded_from_analyazed_h5 = true;
1094+
spectra_volume->set_nan_to_near_zero();
10851095
return io::file::HDF5_IO::inst()->start_save_seq(false);
10861096
}
10871097
else
@@ -1100,6 +1110,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
11001110
if(true == io::file::HDF5_IO::inst()->load_spectra_vol_apsu(dataset_directory, dataset_file, detector_num, spectra_volume, interferometer_avg, scan_info_edf))
11011111
{
11021112
scan_type = scan_info_edf.meta_info.scan_type;
1113+
spectra_volume->set_nan_to_near_zero();
11031114
if (save_scalers)
11041115
{
11051116
io::file::HDF5_IO::inst()->start_save_seq(true);
@@ -1197,7 +1208,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
11971208
scan_info_edf.scaler_maps[dead_time_map.name] = dead_time_map;
11981209
scan_info_edf.scaler_maps[output_map.name] = output_map;
11991210

1200-
1211+
spectra_volume->set_nan_to_near_zero();
12011212
if (save_scalers)
12021213
{
12031214
io::file::HDF5_IO::inst()->start_save_seq(true);
@@ -1217,6 +1228,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
12171228
else if(true == io::file::HDF5_IO::inst()->load_spectra_vol_sec12(fullpath, detector_num, spectra_volume, scan_info_edf))
12181229
{
12191230
scan_type = scan_info_edf.meta_info.scan_type;
1231+
spectra_volume->set_nan_to_near_zero();
12201232
io::file::HDF5_IO::inst()->start_save_seq(true);
12211233
io::file::HDF5_IO::inst()->save_scan_scalers(&scan_info_edf, params_override);
12221234
io::file::HDF5_IO::inst()->copy_to_raw_grp(dataset_directory+dataset_file, "metadata");
@@ -1230,6 +1242,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
12301242
if (true == io::file::HDF5_IO::inst()->load_spectra_volume_emd(dataset_directory + DIR_END_CHAR + dataset_file, detector_num, spectra_volume))
12311243
{
12321244
scan_type = STR_SCAN_TYPE_2D_EMD;
1245+
spectra_volume->set_nan_to_near_zero();
12331246
//*is_loaded_from_analyazed_h5 = true;//test to not save volume
12341247
std::string str_detector_num = "";
12351248
if (detector_num != -1)
@@ -1246,6 +1259,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
12461259
if (true == io::file::HDF5_IO::inst()->load_spectra_volume_confocal(dataset_directory + DIR_END_CHAR + dataset_file, detector_num, spectra_volume, false))
12471260
{
12481261
scan_type = STR_SCAN_TYPE_2D_MAP;
1262+
spectra_volume->set_nan_to_near_zero();
12491263
if (save_scalers)
12501264
{
12511265
io::file::HDF5_IO::inst()->start_save_seq(true);
@@ -1258,6 +1272,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
12581272
if (true == io::file::HDF5_IO::inst()->load_spectra_volume_gsecars<T_real>(dataset_directory + DIR_END_CHAR + dataset_file, detector_num, spectra_volume, false))
12591273
{
12601274
scan_type = STR_SCAN_TYPE_2D_MAP;
1275+
spectra_volume->set_nan_to_near_zero();
12611276
if (save_scalers)
12621277
{
12631278
io::file::HDF5_IO::inst()->start_save_seq(true);
@@ -1269,6 +1284,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
12691284
if (true == io::file::HDF5_IO::inst()->load_spectra_volume_bnl<T_real>(dataset_directory + DIR_END_CHAR + dataset_file, detector_num, spectra_volume, false))
12701285
{
12711286
scan_type = STR_SCAN_TYPE_2D_MAP;
1287+
spectra_volume->set_nan_to_near_zero();
12721288
if (save_scalers)
12731289
{
12741290
io::file::HDF5_IO::inst()->start_save_seq(true);
@@ -1517,7 +1533,7 @@ DLL_EXPORT bool load_spectra_volume(std::string dataset_directory,
15171533
logE<<"Could not find raw spectra data files associated with mda file. Can not process.\n";
15181534
return false;
15191535
}
1520-
1536+
spectra_volume->set_nan_to_near_zero();
15211537
}
15221538

15231539
if (save_scalers)

0 commit comments

Comments
 (0)