ScalingSettings: file format and intensity settings

This commit is contained in:
2026-05-19 17:22:13 +02:00
parent 1a70c1987a
commit e4ff4dca9e
2 changed files with 30 additions and 0 deletions
+20
View File
@@ -118,3 +118,23 @@ ScalingSettings &ScalingSettings::MinCCForImage(double input) {
double ScalingSettings::GetMinPartiality() const {
return min_partiality;
}
ScalingSettings &ScalingSettings::FileFormat(IntensityFormat input) {
intensity_format = input;
return *this;
}
IntensityFormat ScalingSettings::GetFileFormat() const {
return intensity_format;
}
ScalingSettings &ScalingSettings::RfreeFraction(double input) {
if (input < 0.0 || input > 1.0)
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "R-free fraction must be between 0 and 1");
rfree_fraction = input;
return *this;
}
double ScalingSettings::GetRfreeFraction() const {
return rfree_fraction;
}
+10
View File
@@ -7,6 +7,7 @@
#include "JFJochException.h"
enum class PartialityModel { Fixed, Rotation, Unity };
enum class IntensityFormat { Text, mmCIF, MTZ};
class ScalingSettings {
std::optional<PartialityModel> partiality_mode;
@@ -22,6 +23,9 @@ class ScalingSettings {
std::optional<double> wedge_for_scaling;
double min_partiality = 0.02;
double min_cc_for_image = 0.0;
double rfree_fraction = 0.05;
IntensityFormat intensity_format = IntensityFormat::MTZ;
public:
ScalingSettings& SetPartialityModel(PartialityModel mode);
ScalingSettings& RefineB(bool input);
@@ -32,6 +36,9 @@ public:
ScalingSettings& MinPartiality(double min_partiality);
ScalingSettings& MinCCForImage(double min_cc_for_image);
ScalingSettings& RfreeFraction(double input);
ScalingSettings& FileFormat(IntensityFormat input);
[[nodiscard]] bool GetRefineB() const;
[[nodiscard]] bool GetRefineWedge() const;
@@ -53,4 +60,7 @@ public:
[[nodiscard]] double GetMinPartiality() const;
[[nodiscard]] double GetMinCCForImage() const;
[[nodiscard]] double GetRfreeFraction() const;
[[nodiscard]] IntensityFormat GetFileFormat() const;
};