diff --git a/broker/gen/model/Indexing_settings.cpp b/broker/gen/model/Indexing_settings.cpp
index f25a9642..0fc20c21 100644
--- a/broker/gen/model/Indexing_settings.cpp
+++ b/broker/gen/model/Indexing_settings.cpp
@@ -33,7 +33,7 @@ Indexing_settings::Indexing_settings()
m_Rotation_indexing = false;
m_Rotation_indexing_min_angular_range_deg = 20.0f;
m_Rotation_indexing_angular_stride_deg = 0.5f;
- m_Blocking = false;
+ m_Blocking = true;
}
diff --git a/broker/gen/model/Indexing_settings.h b/broker/gen/model/Indexing_settings.h
index ea81ba7a..0b506af9 100644
--- a/broker/gen/model/Indexing_settings.h
+++ b/broker/gen/model/Indexing_settings.h
@@ -130,7 +130,7 @@ public:
float getRotationIndexingAngularStrideDeg() const;
void setRotationIndexingAngularStrideDeg(float const value);
///
- /// Indexing in Jungfraujoch goes with a dedicated thread pool. If set to false, the thread pool is non-blocking, i.e. if there are no threads available, image indexing will be skipped. If set to true, the thread pool will block until a thread is available.
+ /// Indexing in Jungfraujoch goes with a dedicated thread pool. If set to false, the thread pool is non-blocking, i.e. if there are no threads available, image indexing will be skipped. This option is recommended for real-time processing at high frame rates. If set to true, the thread pool will block until a thread is available.
///
bool isBlocking() const;
void setBlocking(bool const value);
diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml
index 36f4e098..5b853168 100644
--- a/broker/jfjoch_api.yaml
+++ b/broker/jfjoch_api.yaml
@@ -1920,10 +1920,10 @@ components:
minimum: 0
blocking:
type: boolean
- default: false
+ default: true
description: |
Indexing in Jungfraujoch goes with a dedicated thread pool.
- If set to false, the thread pool is non-blocking, i.e. if there are no threads available, image indexing will be skipped.
+ If set to false, the thread pool is non-blocking, i.e. if there are no threads available, image indexing will be skipped. This option is recommended for real-time processing at high frame rates.
If set to true, the thread pool will block until a thread is available.
instrument_metadata:
type: object
diff --git a/broker/redoc-static.html b/broker/redoc-static.html
index 5938ae3c..2fe62112 100644
--- a/broker/redoc-static.html
+++ b/broker/redoc-static.html
@@ -582,17 +582,17 @@ This option is using non-linear least squares optimization to find unit cell and
viable_cell_min_spots
required
integer <int64> >= 5
Default: 10
Minimum number of indexed spots required for a cell to be considered viable
index_ice_rings
required
boolean
Default: false
Include spots marked as ice rings in the indexing run.
If dataset_settings doesn't have detect_ice_rings on, this option will have no effect on processing.
-
rotation_indexing
required
boolean
Default: false
rotation_indexing_min_angular_range_deg
required
number <float> >= 1
Default: 20
rotation_indexing_angular_stride_deg
required
number <float> >= 0
Default: 0.5
blocking
required
boolean
Default: false
Indexing in Jungfraujoch goes with a dedicated thread pool.
-If set to false, the thread pool is non-blocking, i.e. if there are no threads available, image indexing will be skipped.
+
rotation_indexing
required
boolean
Default: false
rotation_indexing_min_angular_range_deg
required
number <float> >= 1
Default: 20
rotation_indexing_angular_stride_deg
required
number <float> >= 0
Default: 0.5
blocking
required
boolean
Default: true
Indexing in Jungfraujoch goes with a dedicated thread pool.
+If set to false, the thread pool is non-blocking, i.e. if there are no threads available, image indexing will be skipped. This option is recommended for real-time processing at high frame rates.
If set to true, the thread pool will block until a thread is available.
Responses
Test Jungfraujoch system
-
http://localhost:5232/config/indexing
Request samples
Payload
Content type
application/json
{
"algorithm": "FFBIDX",
"fft_max_unit_cell_A": 250,
"fft_min_unit_cell_A": 10,
"fft_high_resolution_A": 2,
"fft_num_vectors": 16384,
"tolerance": 0.5,
"thread_count": 1,
"geom_refinement_algorithm": "BeamCenter",
"unit_cell_dist_tolerance": 0.05,
"viable_cell_min_spots": 10,
"index_ice_rings": false,
"rotation_indexing": false,
"rotation_indexing_min_angular_range_deg": 20,
"rotation_indexing_angular_stride_deg": 0.5,
"blocking": false
}
Response samples
500
Content type
application/json
{
"msg": "Detector in wrong state",
"reason": "WrongDAQState"
}
Get indexing configuration
Can be done anytime
+
http://localhost:5232/config/indexing
Request samples
Payload
Content type
application/json
{
"algorithm": "FFBIDX",
"fft_max_unit_cell_A": 250,
"fft_min_unit_cell_A": 10,
"fft_high_resolution_A": 2,
"fft_num_vectors": 16384,
"tolerance": 0.5,
"thread_count": 1,
"geom_refinement_algorithm": "BeamCenter",
"unit_cell_dist_tolerance": 0.05,
"viable_cell_min_spots": 10,
"index_ice_rings": false,
"rotation_indexing": false,
"rotation_indexing_min_angular_range_deg": 20,
"rotation_indexing_angular_stride_deg": 0.5,
"blocking": true
}
Response samples
500
Content type
application/json
{
"msg": "Detector in wrong state",
"reason": "WrongDAQState"
}
Get indexing configuration
Can be done anytime
Responses
Test Jungfraujoch system
-
http://localhost:5232/config/indexing
Response samples
200
Content type
application/json
{
"algorithm": "FFBIDX",
"fft_max_unit_cell_A": 250,
"fft_min_unit_cell_A": 10,
"fft_high_resolution_A": 2,
"fft_num_vectors": 16384,
"tolerance": 0.5,
"thread_count": 1,
"geom_refinement_algorithm": "BeamCenter",
"unit_cell_dist_tolerance": 0.05,
"viable_cell_min_spots": 10,
"index_ice_rings": false,
"rotation_indexing": false,
"rotation_indexing_min_angular_range_deg": 20,
"rotation_indexing_angular_stride_deg": 0.5,
"blocking": false
}
Change file writer settings
This can only be done when detector is Idle, Error or Inactive states.
+
http://localhost:5232/config/indexing
Response samples
200
Content type
application/json
{
"algorithm": "FFBIDX",
"fft_max_unit_cell_A": 250,
"fft_min_unit_cell_A": 10,
"fft_high_resolution_A": 2,
"fft_num_vectors": 16384,
"tolerance": 0.5,
"thread_count": 1,
"geom_refinement_algorithm": "BeamCenter",
"unit_cell_dist_tolerance": 0.05,
"viable_cell_min_spots": 10,
"index_ice_rings": false,
"rotation_indexing": false,
"rotation_indexing_min_angular_range_deg": 20,
"rotation_indexing_angular_stride_deg": 0.5,
"blocking": true
}
Change file writer settings
This can only be done when detector is Idle, Error or Inactive states.
Request Body schema: application/json
overwrite
boolean
Default: false
Inform jfjoch_write to overwrite existing files. Otherwise files would be saved with .h5.{timestamp}.tmp suffix.
NoFileWritten - no files are written at all
NXmxOnlyData - only data files are written, no master file
@@ -799,7 +799,7 @@ This can only be done when detector is Idle, Error or