@@ -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