v1.0.0-rc.81
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
#include "NetworkAddressConvert.h"
|
||||
#include "JFJochCompressor.h" // For ZSTD_USE_JFJOCH_RLE
|
||||
#include "DiffractionExperiment.h"
|
||||
|
||||
#include "CUDAWrapper.h"
|
||||
#include "JFJochException.h"
|
||||
#include "RawToConvertedGeometry.h"
|
||||
#include "../include/spdlog/fmt/fmt.h"
|
||||
@@ -570,10 +572,14 @@ std::string DiffractionExperiment::GetSampleName() const {
|
||||
}
|
||||
|
||||
void DiffractionExperiment::CheckDataProcessingSettings(const SpotFindingSettings &settings) {
|
||||
check_finite("Signal to noise threshold", settings.signal_to_noise_threshold);
|
||||
check_min("Signal to noise threshold", settings.signal_to_noise_threshold, 1);
|
||||
check_min("Photon count threshold", settings.photon_count_threshold, 0);
|
||||
check_min("Minimum pixels per spot", settings.min_pix_per_spot, 1);
|
||||
check_min("Maximum pixels per spot", settings.max_pix_per_spot, settings.min_pix_per_spot + 1);
|
||||
check_finite("Spot finding high resolution limit", settings.high_resolution_limit);
|
||||
check_finite("Spot finding low resolution limit", settings.low_resolution_limit);
|
||||
|
||||
if (settings.high_resolution_limit > 0) {
|
||||
check_min("Spot finding high resolution limit", settings.high_resolution_limit, 0.5);
|
||||
check_max("Spot finding high resolution limit", settings.high_resolution_limit, 50.0);
|
||||
@@ -585,7 +591,10 @@ void DiffractionExperiment::CheckDataProcessingSettings(const SpotFindingSetting
|
||||
check_min("Spot finding low resolution limit", settings.low_resolution_limit, 1.0);
|
||||
check_max("Spot finding low resolution limit", settings.low_resolution_limit, 50.0);
|
||||
}
|
||||
check_min("min spot count for powder ring detection", settings.min_spot_count_powder_ring, 5);
|
||||
|
||||
check_min("Ice ring width in Q-space (A^-1)", settings.ice_ring_width_Q_recipA, 0.0);
|
||||
check_max("Ice ring width in Q-space (A^-1)", settings.ice_ring_width_Q_recipA, 1.0);
|
||||
check_finite("Ice ring width in Q-space (A^-1)", settings.ice_ring_width_Q_recipA);
|
||||
}
|
||||
|
||||
SpotFindingSettings DiffractionExperiment::DefaultDataProcessingSettings() {
|
||||
@@ -662,11 +671,14 @@ void DiffractionExperiment::FillMessage(StartMessage &message) const {
|
||||
message.file_format = file_writer.GetHDF5MasterFormatVersion();
|
||||
message.ring_current_mA = dataset.GetRingCurrent_mA();
|
||||
message.sample_temperature_K = dataset.GetSampleTemperature_K();
|
||||
message.fluorescence_spectrum = dataset.GetFluorescenceSpectrum();
|
||||
|
||||
message.poni_rot1 = dataset.GetPoniRot1_rad();
|
||||
message.poni_rot2 = dataset.GetPoniRot2_rad();
|
||||
message.poni_rot3 = dataset.GetPoniRot3_rad();
|
||||
|
||||
message.detect_ice_rings = dataset.IsDetectIceRings();
|
||||
|
||||
message.channels = {"default"};
|
||||
|
||||
switch (GetDetectorType()) {
|
||||
@@ -1417,11 +1429,15 @@ IndexingAlgorithmEnum DiffractionExperiment::GetIndexingAlgorithm() const {
|
||||
return IndexingAlgorithmEnum::None;
|
||||
return IndexingAlgorithmEnum::FFBIDX;
|
||||
case IndexingAlgorithmEnum::Auto:
|
||||
if (get_gpu_count() == 0)
|
||||
return IndexingAlgorithmEnum::FFTW;
|
||||
if (!cell)
|
||||
return IndexingAlgorithmEnum::FFT;
|
||||
return IndexingAlgorithmEnum::FFBIDX;
|
||||
case IndexingAlgorithmEnum::FFT:
|
||||
return IndexingAlgorithmEnum::FFT;
|
||||
case IndexingAlgorithmEnum::FFTW:
|
||||
return IndexingAlgorithmEnum::FFTW;
|
||||
default:
|
||||
return IndexingAlgorithmEnum::None;
|
||||
}
|
||||
@@ -1460,7 +1476,7 @@ DiffractionExperiment &DiffractionExperiment::RingCurrent_mA(const std::optional
|
||||
return *this;
|
||||
}
|
||||
|
||||
std::optional<float> DiffractionExperiment::GetSampleTemeperature_K() const {
|
||||
std::optional<float> DiffractionExperiment::GetSampleTemperature_K() const {
|
||||
return dataset.GetSampleTemperature_K();
|
||||
}
|
||||
|
||||
@@ -1544,3 +1560,21 @@ char DiffractionExperiment::GetCentering() const {
|
||||
return 'P';
|
||||
return sg->centring_type();
|
||||
}
|
||||
|
||||
DiffractionExperiment &DiffractionExperiment::FluorescenceSpectrum(const XrayFluorescenceSpectrum &input) {
|
||||
dataset.FluorescenceSpectrum(input);
|
||||
return *this;
|
||||
}
|
||||
|
||||
DiffractionExperiment &DiffractionExperiment::DetectIceRings(bool input) {
|
||||
dataset.DetectIceRings(input);
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool DiffractionExperiment::IsDetectIceRings() const {
|
||||
return dataset.IsDetectIceRings();
|
||||
}
|
||||
|
||||
const XrayFluorescenceSpectrum &DiffractionExperiment::GetFluorescenceSpectrum() const {
|
||||
return dataset.GetFluorescenceSpectrum();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user