diff --git a/broker/OpenAPIConvert.cpp b/broker/OpenAPIConvert.cpp index bc671e3d..c601f594 100644 --- a/broker/OpenAPIConvert.cpp +++ b/broker/OpenAPIConvert.cpp @@ -886,7 +886,7 @@ PlotType ConvertPlotType(const std::optional& input) { if (input == "image_scale_factor") return PlotType::ImageScaleFactor; if (input == "image_scale_cc") return PlotType::ImageScaleCC; if (input == "image_scale_b") return PlotType::ImageScaleBFactor; - + if (input == "indexing_lattice_count") return PlotType::IndexingLatticeCount; throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Plot type not recognized"); } @@ -1067,6 +1067,8 @@ org::openapitools::server::model::Scan_result Convert(const ScanResult& input) { uc.setGamma(i.uc->gamma); tmp.setUc(uc); } + if (i.indexed_lattice_count.has_value()) + tmp.setLattCount(i.indexed_lattice_count.value()); if (i.xfel_pulse_id.has_value()) tmp.setXfelPulseid(i.xfel_pulse_id.value()); if (i.res.has_value()) diff --git a/broker/gen/model/Scan_result_images_inner.cpp b/broker/gen/model/Scan_result_images_inner.cpp index e7e25c10..4c51bbf5 100644 --- a/broker/gen/model/Scan_result_images_inner.cpp +++ b/broker/gen/model/Scan_result_images_inner.cpp @@ -41,6 +41,8 @@ Scan_result_images_inner::Scan_result_images_inner() m_Spots_iceIsSet = false; m_Index = 0L; m_IndexIsSet = false; + m_Latt_count = 0L; + m_Latt_countIsSet = false; m_Pr = 0.0f; m_PrIsSet = false; m_b = 0.0f; @@ -80,7 +82,7 @@ bool Scan_result_images_inner::validate(std::stringstream& msg, const std::strin bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "Scan_result_images_inner" : pathPrefix; - + return success; } @@ -123,6 +125,9 @@ bool Scan_result_images_inner::operator==(const Scan_result_images_inner& rhs) c ((!indexIsSet() && !rhs.indexIsSet()) || (indexIsSet() && rhs.indexIsSet() && getIndex() == rhs.getIndex())) && + ((!lattCountIsSet() && !rhs.lattCountIsSet()) || (lattCountIsSet() && rhs.lattCountIsSet() && getLattCount() == rhs.getLattCount())) && + + ((!prIsSet() && !rhs.prIsSet()) || (prIsSet() && rhs.prIsSet() && getPr() == rhs.getPr())) && @@ -180,6 +185,8 @@ void to_json(nlohmann::json& j, const Scan_result_images_inner& o) j["spots_ice"] = o.m_Spots_ice; if(o.indexIsSet()) j["index"] = o.m_Index; + if(o.lattCountIsSet()) + j["latt_count"] = o.m_Latt_count; if(o.prIsSet()) j["pr"] = o.m_Pr; if(o.BIsSet()) @@ -250,6 +257,11 @@ void from_json(const nlohmann::json& j, Scan_result_images_inner& o) j.at("index").get_to(o.m_Index); o.m_IndexIsSet = true; } + if(j.find("latt_count") != j.end()) + { + j.at("latt_count").get_to(o.m_Latt_count); + o.m_Latt_countIsSet = true; + } if(j.find("pr") != j.end()) { j.at("pr").get_to(o.m_Pr); @@ -467,6 +479,23 @@ void Scan_result_images_inner::unsetIndex() { m_IndexIsSet = false; } +int64_t Scan_result_images_inner::getLattCount() const +{ + return m_Latt_count; +} +void Scan_result_images_inner::setLattCount(int64_t const value) +{ + m_Latt_count = value; + m_Latt_countIsSet = true; +} +bool Scan_result_images_inner::lattCountIsSet() const +{ + return m_Latt_countIsSet; +} +void Scan_result_images_inner::unsetLatt_count() +{ + m_Latt_countIsSet = false; +} float Scan_result_images_inner::getPr() const { return m_Pr; diff --git a/broker/gen/model/Scan_result_images_inner.h b/broker/gen/model/Scan_result_images_inner.h index 1718d5fe..2f86e34f 100644 --- a/broker/gen/model/Scan_result_images_inner.h +++ b/broker/gen/model/Scan_result_images_inner.h @@ -132,6 +132,13 @@ public: bool indexIsSet() const; void unsetIndex(); /// + /// Indexing lattice count + /// + int64_t getLattCount() const; + void setLattCount(int64_t const value); + bool lattCountIsSet() const; + void unsetLatt_count(); + /// /// Profile radius, i.e. how far reflections are from the Ewald sphere /// float getPr() const; @@ -220,6 +227,8 @@ protected: bool m_Spots_iceIsSet; int64_t m_Index; bool m_IndexIsSet; + int64_t m_Latt_count; + bool m_Latt_countIsSet; float m_Pr; bool m_PrIsSet; float m_b; diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml index 505c0118..7834785d 100644 --- a/broker/jfjoch_api.yaml +++ b/broker/jfjoch_api.yaml @@ -91,6 +91,7 @@ components: - spot_count_indexed - spot_count_ice - indexing_rate + - indexing_lattice_count - indexing_unit_cell_length - indexing_unit_cell_angle - profile_radius @@ -1528,6 +1529,10 @@ components: type: integer format: int64 description: Indexing solution + latt_count: + type: integer + format: int64 + description: Indexing lattice count pr: type: number format: float diff --git a/broker/redoc-static.html b/broker/redoc-static.html index aed78ca3..7475bf3e 100644 --- a/broker/redoc-static.html +++ b/broker/redoc-static.html @@ -868,7 +868,7 @@ User mask is not automatically applied - i.e. pixels with user mask will have a

Generate 1D plot from Jungfraujoch

query Parameters
binning
integer
Default: 1

Binning of frames for the plot (0 = default binning)

-
type
required
string
Enum: "bkg_estimate" "azint" "azint_1d" "spot_count" "spot_count_low_res" "spot_count_indexed" "spot_count_ice" "indexing_rate" "indexing_unit_cell_length" "indexing_unit_cell_angle" "profile_radius" "mosaicity" "b_factor" "error_pixels" "saturated_pixels" "image_collection_efficiency" "receiver_delay" "receiver_free_send_buf" "strong_pixels" "roi_sum" "roi_mean" "roi_max_count" "roi_pixels" "roi_weighted_x" "roi_weighted_y" "packets_received" "max_pixel_value" "resolution_estimate" "pixel_sum" "processing_time" "beam_center_x" "beam_center_y" "integrated_reflections" "image_scale_factor" "image_scale_cc" "image_scale_b"

Type of requested plot

+
type
required
string
Enum: "bkg_estimate" "azint" "azint_1d" "spot_count" "spot_count_low_res" "spot_count_indexed" "spot_count_ice" "indexing_rate" "indexing_lattice_count" "indexing_unit_cell_length" "indexing_unit_cell_angle" "profile_radius" "mosaicity" "b_factor" "error_pixels" "saturated_pixels" "image_collection_efficiency" "receiver_delay" "receiver_free_send_buf" "strong_pixels" "roi_sum" "roi_mean" "roi_max_count" "roi_pixels" "roi_weighted_x" "roi_weighted_y" "packets_received" "max_pixel_value" "resolution_estimate" "pixel_sum" "processing_time" "beam_center_x" "beam_center_y" "integrated_reflections" "image_scale_factor" "image_scale_cc" "image_scale_b"

Type of requested plot

fill
number <float>

Fill value for elements that were missed during data collection

experimental_coord
boolean
Default: false

If measurement has goniometer axis defined, plot X-axis will represent rotation angle If measurement has grid scan defined, plot X-axis and Y-axis will represent grid position, Z will be used as the final value @@ -880,7 +880,7 @@ For still measurement the number is ignored

http://localhost:5232/preview/plot

Response samples

Content type
application/json
{
  • "title": "string",
  • "unit_x": "image_number",
  • "size_x": 0.1,
  • "size_y": 0.1,
  • "plot": [
    ]
}

Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provided as (32-bit) float binary array. This format doesn't transmit information about X-axis, only values, so it is of limited use for azimuthal integration. -

query Parameters
type
required
string
Enum: "bkg_estimate" "azint" "azint_1d" "spot_count" "spot_count_low_res" "spot_count_indexed" "spot_count_ice" "indexing_rate" "indexing_unit_cell_length" "indexing_unit_cell_angle" "profile_radius" "mosaicity" "b_factor" "error_pixels" "saturated_pixels" "image_collection_efficiency" "receiver_delay" "receiver_free_send_buf" "strong_pixels" "roi_sum" "roi_mean" "roi_max_count" "roi_pixels" "roi_weighted_x" "roi_weighted_y" "packets_received" "max_pixel_value" "resolution_estimate" "pixel_sum" "processing_time" "beam_center_x" "beam_center_y" "integrated_reflections" "image_scale_factor" "image_scale_cc" "image_scale_b"

Type of requested plot

+
query Parameters
type
required
string
Enum: "bkg_estimate" "azint" "azint_1d" "spot_count" "spot_count_low_res" "spot_count_indexed" "spot_count_ice" "indexing_rate" "indexing_lattice_count" "indexing_unit_cell_length" "indexing_unit_cell_angle" "profile_radius" "mosaicity" "b_factor" "error_pixels" "saturated_pixels" "image_collection_efficiency" "receiver_delay" "receiver_free_send_buf" "strong_pixels" "roi_sum" "roi_mean" "roi_max_count" "roi_pixels" "roi_weighted_x" "roi_weighted_y" "packets_received" "max_pixel_value" "resolution_estimate" "pixel_sum" "processing_time" "beam_center_x" "beam_center_y" "integrated_reflections" "image_scale_factor" "image_scale_cc" "image_scale_b"

Type of requested plot

roi
string non-empty

Name of ROI for which plot is requested

Responses

Response samples

Content type
application/json
{
  • "file_prefix": "string",
  • "rotation_unit_cell": {
    },
  • "rotation_crystal_lattice": [
    ],
  • "images": [
    ]
}

Get Start message in CBOR format

Contains metadata for a dataset (e.g., experimental geometry)

+
http://localhost:5232/result/scan

Response samples

Content type
application/json
{
  • "file_prefix": "string",
  • "rotation_unit_cell": {
    },
  • "rotation_crystal_lattice": [
    ],
  • "images": [
    ]
}

Get Start message in CBOR format

Contains metadata for a dataset (e.g., experimental geometry)

Responses