added the option to pass an external inference settings file, that overrides the default values for the command line arguments. Thus, command line arguments still have a higher priority than the settings file.
Now an external PSD can be passed via the settings file. Maybe we want to change the structure of the file slightly, but passing the PSD dict via the command line does not seem so elegant, since we would have to parse it. The metadata is updated to either time_psd or the path of the PSD files.
Maybe we also want to be able to pass the strain data via the file. This could easily be added, since the fetch_raw_data function is modular. We could implement load_strain_from_file or make the load_psds_from_file take strain data as well, if the format is the same
Since the downloaded BayesWave PSDs contain frequency data only up to 1023.875 Hz, I added a warning if the provided PSDs frequency range is smaller than that of the strain data. Then the last value is copied until it matches. Ideally, this should not happen and we should set the frequency range accordingly to the minimum of both values, but for 1 bin, it should also be okay this way
I realize that loading from an hdf5 file is a bit hacky, since both PSDs are in the same file and the detector also needs to be passed. This will only be in there temporarily, since asimov will take two separate files
I also had to change the window factor for the ASD dataset generation back to match that of the frequency domain
time_psd
or the path of the PSD files.fetch_raw_data
function is modular. We could implementload_strain_from_file
or make theload_psds_from_file
take strain data as well, if the format is the same