diff --git a/broker/JFJochBrokerHttp.cpp b/broker/JFJochBrokerHttp.cpp index 4c073d3b..2680ade4 100644 --- a/broker/JFJochBrokerHttp.cpp +++ b/broker/JFJochBrokerHttp.cpp @@ -20,6 +20,7 @@ inline SpotFindingSettings Convert(const org::openapitools::server::model::Spot_ ret.high_resolution_limit = input.getHighResolutionLimit(); ret.low_resolution_limit = input.getLowResolutionLimit(); ret.enable = input.isEnable(); + ret.indexing = input.isIndexing(); return ret; } @@ -32,6 +33,7 @@ inline org::openapitools::server::model::Spot_finding_settings Convert(const Spo ret.setHighResolutionLimit(input.high_resolution_limit); ret.setLowResolutionLimit(input.low_resolution_limit); ret.setEnable(input.enable); + ret.setIndexing(input.indexing); return ret; } diff --git a/broker/gen/model/Spot_finding_settings.cpp b/broker/gen/model/Spot_finding_settings.cpp index a2ac5fd5..029996e6 100644 --- a/broker/gen/model/Spot_finding_settings.cpp +++ b/broker/gen/model/Spot_finding_settings.cpp @@ -22,6 +22,7 @@ namespace org::openapitools::server::model Spot_finding_settings::Spot_finding_settings() { m_Enable = true; + m_Indexing = true; m_Signal_to_noise_threshold = 0.0f; m_Photon_count_threshold = 0L; m_Min_pix_per_spot = 0L; @@ -50,7 +51,7 @@ bool Spot_finding_settings::validate(std::stringstream& msg, const std::string& bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "Spot_finding_settings" : pathPrefix; - + /* Signal_to_noise_threshold */ { const float& value = m_Signal_to_noise_threshold; @@ -118,6 +119,9 @@ bool Spot_finding_settings::operator==(const Spot_finding_settings& rhs) const (isEnable() == rhs.isEnable()) && + (isIndexing() == rhs.isIndexing()) + && + (getSignalToNoiseThreshold() == rhs.getSignalToNoiseThreshold()) && @@ -148,6 +152,7 @@ void to_json(nlohmann::json& j, const Spot_finding_settings& o) { j = nlohmann::json(); j["enable"] = o.m_Enable; + j["indexing"] = o.m_Indexing; j["signal_to_noise_threshold"] = o.m_Signal_to_noise_threshold; j["photon_count_threshold"] = o.m_Photon_count_threshold; j["min_pix_per_spot"] = o.m_Min_pix_per_spot; @@ -160,6 +165,7 @@ void to_json(nlohmann::json& j, const Spot_finding_settings& o) void from_json(const nlohmann::json& j, Spot_finding_settings& o) { j.at("enable").get_to(o.m_Enable); + j.at("indexing").get_to(o.m_Indexing); j.at("signal_to_noise_threshold").get_to(o.m_Signal_to_noise_threshold); j.at("photon_count_threshold").get_to(o.m_Photon_count_threshold); j.at("min_pix_per_spot").get_to(o.m_Min_pix_per_spot); @@ -177,6 +183,14 @@ void Spot_finding_settings::setEnable(bool const value) { m_Enable = value; } +bool Spot_finding_settings::isIndexing() const +{ + return m_Indexing; +} +void Spot_finding_settings::setIndexing(bool const value) +{ + m_Indexing = value; +} float Spot_finding_settings::getSignalToNoiseThreshold() const { return m_Signal_to_noise_threshold; diff --git a/broker/gen/model/Spot_finding_settings.h b/broker/gen/model/Spot_finding_settings.h index d31571a5..33ce9a8c 100644 --- a/broker/gen/model/Spot_finding_settings.h +++ b/broker/gen/model/Spot_finding_settings.h @@ -58,11 +58,16 @@ public: /// Spot_finding_settings members /// - /// + /// Enable spot finding /// bool isEnable() const; void setEnable(bool const value); /// + /// Enable indexing + /// + bool isIndexing() const; + void setIndexing(bool const value); + /// /// /// float getSignalToNoiseThreshold() const; @@ -98,6 +103,8 @@ public: protected: bool m_Enable; + bool m_Indexing; + float m_Signal_to_noise_threshold; int64_t m_Photon_count_threshold; diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml index 69d6975e..cbf0022a 100644 --- a/broker/jfjoch_api.yaml +++ b/broker/jfjoch_api.yaml @@ -312,6 +312,7 @@ components: type: object required: - enable + - indexing - signal_to_noise_threshold - photon_count_threshold - max_pix_per_spot @@ -322,6 +323,11 @@ components: enable: type: boolean default: true + description: Enable spot finding + indexing: + type: boolean + default: true + description: Enable indexing signal_to_noise_threshold: type: number format: float diff --git a/broker/redoc-static.html b/broker/redoc-static.html index 29fc39fa..4b8cb46c 100644 --- a/broker/redoc-static.html +++ b/broker/redoc-static.html @@ -535,15 +535,19 @@ If detector is in Inactive or Error states, new settin " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

Everything OK

Response samples

Content type
application/json
{
  • "frame_time_us": 450,
  • "count_time_us": 0,
  • "storage_cell_count": 1,
  • "internal_frame_generator": false,
  • "internal_frame_generator_images": 1,
  • "collect_raw_data": false,
  • "pedestal_g0_frames": 0,
  • "pedestal_g1_frames": 0,
  • "pedestal_g2_frames": 0,
  • "storage_cell_delay_us": 0.1,
  • "detector_trigger_delay_us": 0.1,
  • "fixed_gain_g1": false,
  • "use_gain_hg0": false
}

Configure spot finding

Can be done anytime, also while data collection is running

-
Request Body schema: application/json
enable
required
boolean
Default: true
signal_to_noise_threshold
required
number <float> >= 0
photon_count_threshold
required
integer <int64> >= 0
min_pix_per_spot
required
integer <int64> >= 1
max_pix_per_spot
required
integer <int64> >= 1
high_resolution_limit
required
number <float>
low_resolution_limit
required
number <float>

Responses

Request samples

Content type
application/json
{
  • "enable": true,
  • "signal_to_noise_threshold": 0.1,
  • "photon_count_threshold": 0,
  • "min_pix_per_spot": 1,
  • "max_pix_per_spot": 1,
  • "high_resolution_limit": 0.1,
  • "low_resolution_limit": 0.1
}

Get data processing configuration

Request samples

Content type
application/json
{
  • "enable": true,
  • "indexing": true,
  • "signal_to_noise_threshold": 0.1,
  • "photon_count_threshold": 0,
  • "min_pix_per_spot": 1,
  • "max_pix_per_spot": 1,
  • "high_resolution_limit": 0.1,
  • "low_resolution_limit": 0.1
}

Get data processing configuration

Can be done anytime

Responses

Response samples

Content type
application/json
{
  • "enable": true,
  • "signal_to_noise_threshold": 0.1,
  • "photon_count_threshold": 0,
  • "min_pix_per_spot": 1,
  • "max_pix_per_spot": 1,
  • "high_resolution_limit": 0.1,
  • "low_resolution_limit": 0.1
}

Configure radial integration

Response samples

Content type
application/json
{
  • "enable": true,
  • "indexing": true,
  • "signal_to_noise_threshold": 0.1,
  • "photon_count_threshold": 0,
  • "min_pix_per_spot": 1,
  • "max_pix_per_spot": 1,
  • "high_resolution_limit": 0.1,
  • "low_resolution_limit": 0.1
}

Configure radial integration

Can be done when detector is Inactive or Idle

Request Body schema: application/json
polarization_factor
number <float> [ -1 .. 1 ]

If polarization factor is provided, than polarization correction is enabled.

@@ -747,7 +751,7 @@ Changing detector will set detector to Inactive state and will requ " class="sc-iKOmoZ sc-cCzLxZ WVNwY VEBGS sc-ckdEwu LxEPk">

No preview image recorded so far