diff --git a/common/DiffractionExperiment.cpp b/common/DiffractionExperiment.cpp index 08d30e0e..5a78e243 100644 --- a/common/DiffractionExperiment.cpp +++ b/common/DiffractionExperiment.cpp @@ -218,8 +218,21 @@ DiffractionExperiment &DiffractionExperiment::MaskModuleEdges(bool input) { return *this; } -DiffractionExperiment &DiffractionExperiment::Compression(JFJochProtoBuf::Compression input) { - dataset.set_compression(input); +DiffractionExperiment &DiffractionExperiment::Compression(CompressionAlgorithm input) { + switch (input) { + case CompressionAlgorithm::NO_COMPRESSION: + dataset.set_compression(JFJochProtoBuf::NO_COMPRESSION); + break; + case CompressionAlgorithm::BSHUF_LZ4: + dataset.set_compression(JFJochProtoBuf::BSHUF_LZ4); + break; + case CompressionAlgorithm::BSHUF_ZSTD: + dataset.set_compression(JFJochProtoBuf::BSHUF_ZSTD); + break; + case CompressionAlgorithm::BSHUF_ZSTD_RLE: + dataset.set_compression(JFJochProtoBuf::BSHUF_ZSTD_RLE); + break; + } return *this; } @@ -262,11 +275,6 @@ DiffractionExperiment& DiffractionExperiment::QSpacingForRadialInt_recipA(float return *this; } -DiffractionExperiment &DiffractionExperiment::SetUnitCell(const JFJochProtoBuf::UnitCell &cell) { - *dataset.mutable_unit_cell() = cell; - return *this; -} - DiffractionExperiment &DiffractionExperiment::SetUnitCell(const UnitCell &cell) { JFJochProtoBuf::UnitCell tmp; tmp.set_a(cell.a); @@ -275,7 +283,8 @@ DiffractionExperiment &DiffractionExperiment::SetUnitCell(const UnitCell &cell) tmp.set_alpha(cell.alpha); tmp.set_beta(cell.beta); tmp.set_gamma(cell.gamma); - return SetUnitCell(tmp); + *dataset.mutable_unit_cell() = tmp; + return *this; } DiffractionExperiment &DiffractionExperiment::SetUnitCell() { @@ -496,18 +505,12 @@ int64_t DiffractionExperiment::GetDataFileCount() const { return dataset.data_file_count(); } -JFJochProtoBuf::Compression DiffractionExperiment::GetCompressionAlgorithm() const { - switch (GetDetectorMode()) { - case DetectorMode::Conversion: - return dataset.compression(); - default: - // Compression not supported for raw data and pedestal - return JFJochProtoBuf::NO_COMPRESSION; - } -} +CompressionAlgorithm DiffractionExperiment::GetCompressionAlgorithm() const { + if (GetDetectorMode() != DetectorMode::Conversion) + // Compression not supported for raw data and pedestal + return CompressionAlgorithm::NO_COMPRESSION; -CompressionAlgorithm DiffractionExperiment::GetCompressionAlgorithmEnum() const { - switch (GetCompressionAlgorithm()) { + switch (dataset.compression()) { case JFJochProtoBuf::BSHUF_LZ4: return CompressionAlgorithm::BSHUF_LZ4; case JFJochProtoBuf::BSHUF_ZSTD: @@ -578,7 +581,7 @@ int64_t DiffractionExperiment::GetFirstModuleOfDataStream(uint16_t data_stream) } int64_t DiffractionExperiment::GetMaxCompressedSize() const { - return MaxCompressedSize(GetCompressionAlgorithmEnum(),GetPixelsNum(), GetPixelDepth()); + return MaxCompressedSize(GetCompressionAlgorithm(), GetPixelsNum(), GetPixelDepth()); } int64_t DiffractionExperiment::GetPixelsNum() const { @@ -829,12 +832,31 @@ void DiffractionExperiment::LoadDatasetSettings(const JFJochProtoBuf::DatasetSet FilePrefix(settings.file_prefix()); DataFileCount(settings.data_file_count()); if (settings.has_unit_cell()) - SetUnitCell(settings.unit_cell()); + SetUnitCell(UnitCell(settings.unit_cell().a(), + settings.unit_cell().b(), + settings.unit_cell().c(), + settings.unit_cell().alpha(), + settings.unit_cell().beta(), + settings.unit_cell().gamma())); else SetUnitCell(); SpaceGroupNumber(settings.space_group_number()); SampleName(settings.sample_name()); - Compression(settings.compression()); + switch (settings.compression()) { + case JFJochProtoBuf::BSHUF_LZ4: + Compression(CompressionAlgorithm::BSHUF_LZ4); + break; + case JFJochProtoBuf::BSHUF_ZSTD: + Compression(CompressionAlgorithm::BSHUF_ZSTD); + break; + case JFJochProtoBuf::BSHUF_ZSTD_RLE: + Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE); + break; + default: + case JFJochProtoBuf::NO_COMPRESSION: + Compression(CompressionAlgorithm::NO_COMPRESSION); + break; + } SaveCalibration(settings.save_calibration()); if (settings.summation() == 0) Summation(1); @@ -943,7 +965,7 @@ void DiffractionExperiment::FillMessage(StartMessage &message) const { message.pixel_size_y = GetPixelSize_mm() * 1e-3f; message.sensor_material = SENSOR_MATERIAL; message.sensor_thickness = SENSOR_THICKNESS_IN_UM * 1e-6f; - message.compression_algorithm = GetCompressionAlgorithmEnum(); + message.compression_algorithm = GetCompressionAlgorithm(); message.compression_block_size = JFJochBitShuffleCompressor::DefaultBlockSize; message.pixel_bit_depth = GetPixelDepth() * 8; message.storage_cell_number = GetStorageCellNumber(); diff --git a/common/DiffractionExperiment.h b/common/DiffractionExperiment.h index f84d6b68..65b5a8d6 100644 --- a/common/DiffractionExperiment.h +++ b/common/DiffractionExperiment.h @@ -33,7 +33,6 @@ class DiffractionExperiment { JFJochProtoBuf::InternalSettings internal; constexpr static const int64_t max_spot_count = 100; - DiffractionExperiment& SetUnitCell(const JFJochProtoBuf::UnitCell &input); public: // Public methods are atomic DiffractionExperiment(); @@ -61,7 +60,7 @@ public: DiffractionExperiment& FilePrefix(std::string input); DiffractionExperiment& DataFileCount(int64_t input); - DiffractionExperiment& Compression(JFJochProtoBuf::Compression input); + DiffractionExperiment& Compression(CompressionAlgorithm input); DiffractionExperiment& PreviewPeriod(std::chrono::microseconds input); DiffractionExperiment& UseInternalPacketGenerator(bool input); @@ -137,8 +136,7 @@ public: std::string GetFilePrefix() const; int64_t GetDataFileCount() const; - JFJochProtoBuf::Compression GetCompressionAlgorithm() const; - CompressionAlgorithm GetCompressionAlgorithmEnum() const; + CompressionAlgorithm GetCompressionAlgorithm() const; int64_t GetMaxCompressedSize() const; diff --git a/common/FrameTransformation.cpp b/common/FrameTransformation.cpp index ba58b7fa..1cb4c728 100644 --- a/common/FrameTransformation.cpp +++ b/common/FrameTransformation.cpp @@ -17,7 +17,7 @@ template void FillVector(std::vector &v, T fill_value) { FrameTransformation::FrameTransformation(const DiffractionExperiment &in_experiment) : experiment(in_experiment), pixel_depth(experiment.GetPixelDepth()), pixel_signed(experiment.IsPixelSigned()), - compressor(in_experiment.GetCompressionAlgorithmEnum()) { + compressor(in_experiment.GetCompressionAlgorithm()) { precompression_buffer.resize(experiment.GetPixelsNum() * pixel_depth); diff --git a/common/ImagePusher.cpp b/common/ImagePusher.cpp index a88ba5c4..1e52f159 100644 --- a/common/ImagePusher.cpp +++ b/common/ImagePusher.cpp @@ -12,6 +12,6 @@ void PrepareCBORImage(DataMessage& message, message.image.pixel_depth_bytes = experiment.GetPixelDepth(); message.image.pixel_is_signed = experiment.IsPixelSigned(); message.image.pixel_is_float = false; - message.image.algorithm = experiment.GetCompressionAlgorithmEnum(); + message.image.algorithm = experiment.GetCompressionAlgorithm(); message.image.channel = "default"; } diff --git a/common/TestImagePusher.cpp b/common/TestImagePusher.cpp index 78db17fb..1ae0182a 100644 --- a/common/TestImagePusher.cpp +++ b/common/TestImagePusher.cpp @@ -89,10 +89,10 @@ bool TestImagePusher::CheckImage(const DiffractionExperiment &x, const std::vect // Image decompression try { if (x.GetPixelDepth() == 2) - JFJochDecompress(decompressed_image_16, x.GetCompressionAlgorithmEnum(), + JFJochDecompress(decompressed_image_16, x.GetCompressionAlgorithm(), receiver_generated_image, x.GetPixelsNum()); else - JFJochDecompress(decompressed_image_32, x.GetCompressionAlgorithmEnum(), + JFJochDecompress(decompressed_image_32, x.GetCompressionAlgorithm(), receiver_generated_image, x.GetPixelsNum()); } catch (const JFJochException &e) { diff --git a/grpc/jfjoch.proto b/grpc/jfjoch.proto index c58c422d..e36fcb86 100644 --- a/grpc/jfjoch.proto +++ b/grpc/jfjoch.proto @@ -179,11 +179,6 @@ message InternalSettings { bool debug_pixel_mask = 38; } -message JungfraujochSettings { - DatasetSettings dataset = 1; - InternalSettings internal = 2; -} - // Calibration message ModuleStatistics { diff --git a/python/jfjoch_pb2.py b/python/jfjoch_pb2.py index 83220d48..3a72a327 100644 --- a/python/jfjoch_pb2.py +++ b/python/jfjoch_pb2.py @@ -13,25 +13,25 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cjfjoch.proto\x12\x0eJFJochProtoBuf\"\x07\n\x05\x45mpty\"W\n\x08UnitCell\x12\t\n\x01\x61\x18\x01 \x01(\x02\x12\t\n\x01\x62\x18\x02 \x01(\x02\x12\t\n\x01\x63\x18\x03 \x01(\x02\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x05 \x01(\x02\x12\r\n\x05gamma\x18\x06 \x01(\x02\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"|\n\x10RotationSettings\x12\x17\n\x0fstart_angle_deg\x18\x01 \x01(\x02\x12 \n\x18\x61ngle_incr_per_image_deg\x18\x02 \x01(\x02\x12-\n\rrotation_axis\x18\x03 \x01(\x0b\x32\x16.JFJochProtoBuf.Vector\"\x1c\n\x04Plot\x12\t\n\x01x\x18\x01 \x03(\x02\x12\t\n\x01y\x18\x02 \x03(\x02\"\xb1\x04\n\x0f\x44\x61tasetSettings\x12\x1a\n\x12images_per_trigger\x18\x01 \x01(\x03\x12\x10\n\x08ntrigger\x18\x02 \x01(\x03\x12:\n\x11\x66pga_pixel_output\x18\x03 \x01(\x0e\x32\x1f.JFJochProtoBuf.FPGAPixelOutput\x12\x11\n\tsummation\x18\x04 \x01(\x03\x12\x12\n\nbeam_x_pxl\x18\x05 \x01(\x02\x12\x12\n\nbeam_y_pxl\x18\x06 \x01(\x02\x12\x1c\n\x14\x64\x65tector_distance_mm\x18\x07 \x01(\x02\x12\x19\n\x11photon_energy_keV\x18\x08 \x01(\x02\x12\x13\n\x0b\x66ile_prefix\x18\t \x01(\t\x12\x17\n\x0f\x64\x61ta_file_count\x18\n \x01(\x03\x12\x30\n\x0b\x63ompression\x18\x0b \x01(\x0e\x32\x1b.JFJochProtoBuf.Compression\x12\x13\n\x0bsample_name\x18\x0c \x01(\t\x12+\n\tunit_cell\x18\r \x01(\x0b\x32\x18.JFJochProtoBuf.UnitCell\x12\x1a\n\x12space_group_number\x18\x0e \x01(\x03\x12 \n\x18rad_int_solid_angle_corr\x18\x12 \x01(\x08\x12!\n\x19rad_int_polarization_corr\x18\x13 \x01(\x08\x12#\n\x1brad_int_polarization_factor\x18\x14 \x01(\x02\x12\x18\n\x10save_calibration\x18\x15 \x01(\x08\"\x90\x02\n\x10\x44\x65tectorSettings\x12\x15\n\rframe_time_us\x18\x01 \x01(\x03\x12\x15\n\rcount_time_us\x18\x02 \x01(\x03\x12\x1a\n\x12storage_cell_count\x18\x03 \x01(\x03\x12%\n\x1duse_internal_packet_generator\x18\x04 \x01(\x08\x12\x18\n\x10\x63ollect_raw_data\x18\x05 \x01(\x08\x12\x1a\n\x12pedestal_g0_frames\x18\x06 \x01(\x03\x12\x1a\n\x12pedestal_g1_frames\x18\x07 \x01(\x03\x12\x1a\n\x12pedestal_g2_frames\x18\x08 \x01(\x03\x12\x1d\n\x15storage_cell_delay_ns\x18\n \x01(\x03\"b\n\x16\x44\x65tectorModuleGeometry\x12\x0e\n\x06pixel0\x18\x01 \x01(\x03\x12\x1b\n\x13\x66\x61st_direction_step\x18\x02 \x01(\x03\x12\x1b\n\x13slow_direction_step\x18\x03 \x01(\x03\"z\n\x10\x44\x65tectorGeometry\x12\x11\n\twidth_pxl\x18\x01 \x01(\x03\x12\x12\n\nheight_pxl\x18\x02 \x01(\x03\x12?\n\x0fmodule_geometry\x18\x03 \x03(\x0b\x32&.JFJochProtoBuf.DetectorModuleGeometry\"\xb2\x01\n\x08\x44\x65tector\x12\x10\n\x08nmodules\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rpixel_size_mm\x18\x03 \x01(\x02\x12\x17\n\x0fmodule_hostname\x18\x04 \x03(\t\x12\x32\n\x08geometry\x18\x05 \x01(\x0b\x32 .JFJochProtoBuf.DetectorGeometry\x12\x1b\n\x13udp_interface_count\x18\x07 \x01(\x03\"\xdf\x05\n\x10InternalSettings\x12\"\n\x1a\x66rame_time_pedestalG1G2_us\x18\x01 \x01(\x03\x12\x15\n\rframe_time_us\x18\x03 \x01(\x03\x12\x15\n\rcount_time_us\x18\x04 \x01(\x03\x12*\n\x08\x64\x65tector\x18\x05 \x01(\x0b\x32\x18.JFJochProtoBuf.Detector\x12\x14\n\x0cndatastreams\x18\x06 \x01(\x03\x12&\n\x1einternal_fpga_packet_generator\x18\t \x01(\x08\x12\x15\n\rstorage_cells\x18\n \x01(\x03\x12\x1a\n\x12storage_cell_start\x18\x0b \x01(\x03\x12\x1d\n\x15storage_cell_delay_ns\x18\' \x01(\x03\x12\x1a\n\x12pedestal_g0_frames\x18\x0c \x01(\x03\x12\x1a\n\x12pedestal_g1_frames\x18\r \x01(\x03\x12\x1a\n\x12pedestal_g2_frames\x18\x0e \x01(\x03\x12\x19\n\x11preview_period_us\x18\x0f \x01(\x03\x12*\n\x04mode\x18\x13 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorMode\x12\x19\n\x11mask_module_edges\x18\x14 \x01(\x08\x12\x17\n\x0fmask_chip_edges\x18\x15 \x01(\x08\x12\x16\n\x0eipv4_base_addr\x18\x16 \x01(\x03\x12\r\n\x05low_q\x18\x1a \x01(\x02\x12\x0e\n\x06high_q\x18\x1b \x01(\x02\x12\x11\n\tq_spacing\x18\x1c \x01(\x02\x12\x10\n\x08git_sha1\x18\x1d \x01(\t\x12\x10\n\x08git_date\x18\x1e \x01(\t\x12\x13\n\x0bsource_name\x18 \x01(\t\x12\x19\n\x11source_name_short\x18! \x01(\t\x12\x17\n\x0finstrument_name\x18\" \x01(\t\x12\x1d\n\x15instrument_name_short\x18# \x01(\t\x12\x18\n\x10\x64\x65\x62ug_pixel_mask\x18& \x01(\x08\"|\n\x14JungfraujochSettings\x12\x30\n\x07\x64\x61taset\x18\x01 \x01(\x0b\x32\x1f.JFJochProtoBuf.DatasetSettings\x12\x32\n\x08internal\x18\x02 \x01(\x0b\x32 .JFJochProtoBuf.InternalSettings\"\xed\x01\n\x10ModuleStatistics\x12\x15\n\rmodule_number\x18\x01 \x01(\x03\x12\x1b\n\x13storage_cell_number\x18\x02 \x01(\x03\x12\x18\n\x10pedestal_g0_mean\x18\x03 \x01(\x02\x12\x18\n\x10pedestal_g1_mean\x18\x04 \x01(\x02\x12\x18\n\x10pedestal_g2_mean\x18\x05 \x01(\x02\x12\x14\n\x0cgain_g0_mean\x18\x06 \x01(\x02\x12\x14\n\x0cgain_g1_mean\x18\x07 \x01(\x02\x12\x14\n\x0cgain_g2_mean\x18\x08 \x01(\x02\x12\x15\n\rmasked_pixels\x18\t \x01(\x04\"V\n\x17JFCalibrationStatistics\x12;\n\x11module_statistics\x18\x01 \x03(\x0b\x32 .JFJochProtoBuf.ModuleStatistics\"F\n\x0bPlotRequest\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.JFJochProtoBuf.PlotType\x12\x0f\n\x07\x62inning\x18\x02 \x01(\x04\"M\n\x18RadialIntegrationProfile\x12\r\n\x05title\x18\x01 \x01(\t\x12\"\n\x04plot\x18\x02 \x01(\x0b\x32\x14.JFJochProtoBuf.Plot\"W\n\x19RadialIntegrationProfiles\x12:\n\x08profiles\x18\x01 \x03(\x0b\x32(.JFJochProtoBuf.RadialIntegrationProfile\">\n\x0bWriterInput\x12\x1c\n\x14zmq_receiver_address\x18\x01 \x01(\t\x12\x11\n\tseries_id\x18\x02 \x01(\x03\"3\n\x12\x44\x61taFileStatistics\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07nimages\x18\x02 \x01(\x03\"\x8d\x01\n\x0cWriterOutput\x12\x0f\n\x07nimages\x18\x01 \x01(\x03\x12\x17\n\x0fperformance_MBs\x18\x02 \x01(\x02\x12\x16\n\x0eperformance_Hz\x18\x03 \x01(\x02\x12;\n\x0f\x66ile_statistics\x18\x04 \x03(\x0b\x32\".JFJochProtoBuf.DataFileStatistics\"\x82\x02\n\x14\x44\x65tectorModuleConfig\x12\x17\n\x0fudp_dest_port_1\x18\x01 \x01(\x04\x12\x17\n\x0fudp_dest_port_2\x18\x02 \x01(\x04\x12\x17\n\x0fipv4_src_addr_1\x18\x03 \x01(\t\x12\x17\n\x0fipv4_src_addr_2\x18\x04 \x01(\t\x12\x18\n\x10ipv4_dest_addr_1\x18\x05 \x01(\t\x12\x18\n\x10ipv4_dest_addr_2\x18\x06 \x01(\t\x12\x17\n\x0fmac_addr_dest_1\x18\x07 \x01(\t\x12\x17\n\x0fmac_addr_dest_2\x18\x08 \x01(\t\x12 \n\x18module_id_in_data_stream\x18\t \x01(\x04\"}\n\x0e\x44\x65tectorConfig\x12\x35\n\x07modules\x18\x01 \x03(\x0b\x32$.JFJochProtoBuf.DetectorModuleConfig\x12\x17\n\x0fmodule_hostname\x18\x02 \x03(\t\x12\x1b\n\x13udp_interface_count\x18\x03 \x01(\x03\"\xfc\x01\n\rDetectorInput\x12\x13\n\x0bmodules_num\x18\x01 \x01(\x03\x12*\n\x04mode\x18\x02 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorMode\x12\x12\n\nnum_frames\x18\x03 \x01(\x03\x12\x14\n\x0cnum_triggers\x18\x04 \x01(\x03\x12\x1b\n\x13storage_cell_number\x18\x05 \x01(\x03\x12\x1a\n\x12storage_cell_start\x18\x06 \x01(\x03\x12\x1d\n\x15storage_cell_delay_ns\x18\x07 \x01(\x03\x12\x11\n\tperiod_us\x18\t \x01(\x03\x12\x15\n\rcount_time_us\x18\n \x01(\x03\"\x10\n\x0e\x44\x65tectorOutput\"b\n\x0e\x44\x65tectorStatus\x12$\n\x05state\x18\x01 \x01(\x0e\x32\x15.JFJochProtoBuf.State\x12\x12\n\nfw_version\x18\x02 \x01(\x03\x12\x16\n\x0eserver_version\x18\x03 \x01(\t\"Q\n\x0e\x46PGAFIFOStatus\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0e\x32\".JFJochProtoBuf.FPGAFIFOStatusEnum\"\xbb\x02\n\x16\x44\x61taProcessingSettings\x12!\n\x19signal_to_noise_threshold\x18\x01 \x01(\x02\x12\x1e\n\x16photon_count_threshold\x18\x02 \x01(\x03\x12\x18\n\x10min_pix_per_spot\x18\x03 \x01(\x03\x12\x18\n\x10max_pix_per_spot\x18\x04 \x01(\x03\x12\x16\n\x0elocal_bkg_size\x18\x05 \x01(\x03\x12\x1d\n\x15high_resolution_limit\x18\x06 \x01(\x02\x12\x1c\n\x14low_resolution_limit\x18\x07 \x01(\x02\x12\x1a\n\x12\x62kg_estimate_low_q\x18\x08 \x01(\x02\x12\x1b\n\x13\x62kg_estimate_high_q\x18\t \x01(\x02\x12\x1c\n\x14preview_indexed_only\x18\n \x01(\x08\"I\n\x05Image\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05width\x18\x02 \x01(\x03\x12\x0e\n\x06height\x18\x03 \x01(\x03\x12\x13\n\x0bpixel_depth\x18\x04 \x01(\x03\".\n\nMaskToLoad\x12\x0c\n\x04mask\x18\x01 \x03(\r\x12\x12\n\nbit_to_set\x18\x02 \x01(\x05\"\xc9\x02\n\x15MeasurementStatistics\x12\x13\n\x0b\x66ile_prefix\x18\x01 \x01(\t\x12\x18\n\x10images_collected\x18\x02 \x01(\x03\x12\x1d\n\x15max_image_number_sent\x18\x03 \x01(\x03\x12\x1d\n\x15\x63ollection_efficiency\x18\x04 \x01(\x02\x12\x19\n\x11\x63ompression_ratio\x18\x05 \x01(\x02\x12\x11\n\tcancelled\x18\x06 \x01(\x08\x12\x19\n\x11max_receive_delay\x18\x07 \x01(\x03\x12\x15\n\rindexing_rate\x18\n \x01(\x02\x12\x16\n\x0e\x64\x65tector_width\x18\x0c \x01(\x03\x12\x17\n\x0f\x64\x65tector_height\x18\r \x01(\x03\x12\x1c\n\x14\x64\x65tector_pixel_depth\x18\x0e \x01(\x03\x12\x14\n\x0c\x62kg_estimate\x18\x10 \x01(\x02\"\x89\x01\n\x0c\x42rokerStatus\x12+\n\x0c\x62roker_state\x18\x01 \x01(\x0e\x32\x15.JFJochProtoBuf.State\x12\x10\n\x08progress\x18\x02 \x01(\x02\x12\x15\n\rindexing_rate\x18\x03 \x01(\x02\x12#\n\x1breceiver_send_buffers_avail\x18\x04 \x01(\x02\"H\n\x13\x44\x65tectorListElement\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x10\n\x08nmodules\x18\x02 \x01(\x03\x12\n\n\x02id\x18\x03 \x01(\x03\"v\n\x0c\x44\x65tectorList\x12\x35\n\x08\x64\x65tector\x18\x01 \x03(\x0b\x32#.JFJochProtoBuf.DetectorListElement\x12\x12\n\ncurrent_id\x18\x02 \x01(\x03\x12\x1b\n\x13\x63urrent_description\x18\x03 \x01(\t\"\x1f\n\x11\x44\x65tectorSelection\x12\n\n\x02id\x18\x01 \x01(\x03*T\n\x0b\x43ompression\x12\r\n\tBSHUF_LZ4\x10\x00\x12\x0e\n\nBSHUF_ZSTD\x10\x01\x12\x12\n\x0e\x42SHUF_ZSTD_RLE\x10\x02\x12\x12\n\x0eNO_COMPRESSION\x10\x03*Z\n\x0c\x44\x65tectorMode\x12\x0e\n\nCONVERSION\x10\x00\x12\x07\n\x03RAW\x10\x01\x12\x0f\n\x0bPEDESTAL_G0\x10\x02\x12\x0f\n\x0bPEDESTAL_G1\x10\x03\x12\x0f\n\x0bPEDESTAL_G2\x10\x04*6\n\x12\x46PGAFIFOStatusEnum\x12\t\n\x05\x45MPTY\x10\x00\x12\x08\n\x04\x46ULL\x10\x01\x12\x0b\n\x07PARTIAL\x10\x02*^\n\x05State\x12\x13\n\x0fNOT_INITIALIZED\x10\x00\x12\x08\n\x04IDLE\x10\x01\x12\x08\n\x04\x42USY\x10\x02\x12\x0c\n\x08PEDESTAL\x10\x03\x12\x13\n\x0f\x44\x41TA_COLLECTION\x10\x04\x12\t\n\x05\x45RROR\x10\x05*I\n\x0f\x46PGAPixelOutput\x12\x08\n\x04\x41UTO\x10\x00\x12\t\n\x05INT16\x10\x01\x12\n\n\x06UINT16\x10\x02\x12\t\n\x05INT32\x10\x03\x12\n\n\x06UINT32\x10\x04*{\n\x08PlotType\x12\x10\n\x0c\x42KG_ESTIMATE\x10\x00\x12\x0b\n\x07RAD_INT\x10\x01\x12\x0e\n\nSPOT_COUNT\x10\x02\x12\x11\n\rINDEXING_RATE\x10\x03\x12\x1a\n\x16INDEXING_RATE_PER_FILE\x10\x04\x12\x11\n\rADU_HISTOGRAM\x10\x05\x32\xca\x01\n\x11gRPC_JFJochWriter\x12=\n\x05Start\x12\x1b.JFJochProtoBuf.WriterInput\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x37\n\x05\x41\x62ort\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12=\n\x04Stop\x12\x15.JFJochProtoBuf.Empty\x1a\x1c.JFJochProtoBuf.WriterOutput\"\x00\x32\x82\x03\n\x13gRPC_JFJochDetector\x12?\n\x05Start\x12\x1d.JFJochProtoBuf.DetectorInput\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x36\n\x04Stop\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x41\n\x06Status\x12\x15.JFJochProtoBuf.Empty\x1a\x1e.JFJochProtoBuf.DetectorStatus\"\x00\x12=\n\x02On\x12\x1e.JFJochProtoBuf.DetectorConfig\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x35\n\x03Off\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x39\n\x07Trigger\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x32\xd4\x0c\n\x11gRPC_JFJochBroker\x12\x41\n\x05Start\x12\x1f.JFJochProtoBuf.DatasetSettings\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x36\n\x04Stop\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12:\n\x08Pedestal\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12<\n\nInitialize\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x38\n\x06\x43\x61ncel\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12<\n\nDeactivate\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x39\n\x07Trigger\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x42\n\tGetStatus\x12\x15.JFJochProtoBuf.Empty\x1a\x1c.JFJochProtoBuf.BrokerStatus\"\x00\x12\\\n\x18GetCalibrationStatistics\x12\x15.JFJochProtoBuf.Empty\x1a\'.JFJochProtoBuf.JFCalibrationStatistics\"\x00\x12P\n\x13GetDetectorSettings\x12\x15.JFJochProtoBuf.Empty\x1a .JFJochProtoBuf.DetectorSettings\"\x00\x12P\n\x13PutDetectorSettings\x12 .JFJochProtoBuf.DetectorSettings\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12Z\n\x18GetMeasurementStatistics\x12\x15.JFJochProtoBuf.Empty\x1a%.JFJochProtoBuf.MeasurementStatistics\"\x00\x12\\\n\x19GetDataProcessingSettings\x12\x15.JFJochProtoBuf.Empty\x1a&.JFJochProtoBuf.DataProcessingSettings\"\x00\x12\\\n\x19PutDataProcessingSettings\x12&.JFJochProtoBuf.DataProcessingSettings\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12?\n\x08GetPlots\x12\x1b.JFJochProtoBuf.PlotRequest\x1a\x14.JFJochProtoBuf.Plot\"\x00\x12\x62\n\x1cGetRadialIntegrationProfiles\x12\x15.JFJochProtoBuf.Empty\x1a).JFJochProtoBuf.RadialIntegrationProfiles\"\x00\x12?\n\rGetPedestalG0\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12?\n\rGetPedestalG1\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12?\n\rGetPedestalG2\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12\x39\n\x07GetMask\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12H\n\x0fGetDetectorList\x12\x15.JFJochProtoBuf.Empty\x1a\x1c.JFJochProtoBuf.DetectorList\"\x00\x12L\n\x0eSelectDetector\x12!.JFJochProtoBuf.DetectorSelection\x1a\x15.JFJochProtoBuf.Empty\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0cjfjoch.proto\x12\x0eJFJochProtoBuf\"\x07\n\x05\x45mpty\"W\n\x08UnitCell\x12\t\n\x01\x61\x18\x01 \x01(\x02\x12\t\n\x01\x62\x18\x02 \x01(\x02\x12\t\n\x01\x63\x18\x03 \x01(\x02\x12\r\n\x05\x61lpha\x18\x04 \x01(\x02\x12\x0c\n\x04\x62\x65ta\x18\x05 \x01(\x02\x12\r\n\x05gamma\x18\x06 \x01(\x02\")\n\x06Vector\x12\t\n\x01x\x18\x01 \x01(\x02\x12\t\n\x01y\x18\x02 \x01(\x02\x12\t\n\x01z\x18\x03 \x01(\x02\"|\n\x10RotationSettings\x12\x17\n\x0fstart_angle_deg\x18\x01 \x01(\x02\x12 \n\x18\x61ngle_incr_per_image_deg\x18\x02 \x01(\x02\x12-\n\rrotation_axis\x18\x03 \x01(\x0b\x32\x16.JFJochProtoBuf.Vector\"\x1c\n\x04Plot\x12\t\n\x01x\x18\x01 \x03(\x02\x12\t\n\x01y\x18\x02 \x03(\x02\"\xb1\x04\n\x0f\x44\x61tasetSettings\x12\x1a\n\x12images_per_trigger\x18\x01 \x01(\x03\x12\x10\n\x08ntrigger\x18\x02 \x01(\x03\x12:\n\x11\x66pga_pixel_output\x18\x03 \x01(\x0e\x32\x1f.JFJochProtoBuf.FPGAPixelOutput\x12\x11\n\tsummation\x18\x04 \x01(\x03\x12\x12\n\nbeam_x_pxl\x18\x05 \x01(\x02\x12\x12\n\nbeam_y_pxl\x18\x06 \x01(\x02\x12\x1c\n\x14\x64\x65tector_distance_mm\x18\x07 \x01(\x02\x12\x19\n\x11photon_energy_keV\x18\x08 \x01(\x02\x12\x13\n\x0b\x66ile_prefix\x18\t \x01(\t\x12\x17\n\x0f\x64\x61ta_file_count\x18\n \x01(\x03\x12\x30\n\x0b\x63ompression\x18\x0b \x01(\x0e\x32\x1b.JFJochProtoBuf.Compression\x12\x13\n\x0bsample_name\x18\x0c \x01(\t\x12+\n\tunit_cell\x18\r \x01(\x0b\x32\x18.JFJochProtoBuf.UnitCell\x12\x1a\n\x12space_group_number\x18\x0e \x01(\x03\x12 \n\x18rad_int_solid_angle_corr\x18\x12 \x01(\x08\x12!\n\x19rad_int_polarization_corr\x18\x13 \x01(\x08\x12#\n\x1brad_int_polarization_factor\x18\x14 \x01(\x02\x12\x18\n\x10save_calibration\x18\x15 \x01(\x08\"\x90\x02\n\x10\x44\x65tectorSettings\x12\x15\n\rframe_time_us\x18\x01 \x01(\x03\x12\x15\n\rcount_time_us\x18\x02 \x01(\x03\x12\x1a\n\x12storage_cell_count\x18\x03 \x01(\x03\x12%\n\x1duse_internal_packet_generator\x18\x04 \x01(\x08\x12\x18\n\x10\x63ollect_raw_data\x18\x05 \x01(\x08\x12\x1a\n\x12pedestal_g0_frames\x18\x06 \x01(\x03\x12\x1a\n\x12pedestal_g1_frames\x18\x07 \x01(\x03\x12\x1a\n\x12pedestal_g2_frames\x18\x08 \x01(\x03\x12\x1d\n\x15storage_cell_delay_ns\x18\n \x01(\x03\"b\n\x16\x44\x65tectorModuleGeometry\x12\x0e\n\x06pixel0\x18\x01 \x01(\x03\x12\x1b\n\x13\x66\x61st_direction_step\x18\x02 \x01(\x03\x12\x1b\n\x13slow_direction_step\x18\x03 \x01(\x03\"z\n\x10\x44\x65tectorGeometry\x12\x11\n\twidth_pxl\x18\x01 \x01(\x03\x12\x12\n\nheight_pxl\x18\x02 \x01(\x03\x12?\n\x0fmodule_geometry\x18\x03 \x03(\x0b\x32&.JFJochProtoBuf.DetectorModuleGeometry\"\xb2\x01\n\x08\x44\x65tector\x12\x10\n\x08nmodules\x18\x01 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rpixel_size_mm\x18\x03 \x01(\x02\x12\x17\n\x0fmodule_hostname\x18\x04 \x03(\t\x12\x32\n\x08geometry\x18\x05 \x01(\x0b\x32 .JFJochProtoBuf.DetectorGeometry\x12\x1b\n\x13udp_interface_count\x18\x07 \x01(\x03\"\xdf\x05\n\x10InternalSettings\x12\"\n\x1a\x66rame_time_pedestalG1G2_us\x18\x01 \x01(\x03\x12\x15\n\rframe_time_us\x18\x03 \x01(\x03\x12\x15\n\rcount_time_us\x18\x04 \x01(\x03\x12*\n\x08\x64\x65tector\x18\x05 \x01(\x0b\x32\x18.JFJochProtoBuf.Detector\x12\x14\n\x0cndatastreams\x18\x06 \x01(\x03\x12&\n\x1einternal_fpga_packet_generator\x18\t \x01(\x08\x12\x15\n\rstorage_cells\x18\n \x01(\x03\x12\x1a\n\x12storage_cell_start\x18\x0b \x01(\x03\x12\x1d\n\x15storage_cell_delay_ns\x18\' \x01(\x03\x12\x1a\n\x12pedestal_g0_frames\x18\x0c \x01(\x03\x12\x1a\n\x12pedestal_g1_frames\x18\r \x01(\x03\x12\x1a\n\x12pedestal_g2_frames\x18\x0e \x01(\x03\x12\x19\n\x11preview_period_us\x18\x0f \x01(\x03\x12*\n\x04mode\x18\x13 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorMode\x12\x19\n\x11mask_module_edges\x18\x14 \x01(\x08\x12\x17\n\x0fmask_chip_edges\x18\x15 \x01(\x08\x12\x16\n\x0eipv4_base_addr\x18\x16 \x01(\x03\x12\r\n\x05low_q\x18\x1a \x01(\x02\x12\x0e\n\x06high_q\x18\x1b \x01(\x02\x12\x11\n\tq_spacing\x18\x1c \x01(\x02\x12\x10\n\x08git_sha1\x18\x1d \x01(\t\x12\x10\n\x08git_date\x18\x1e \x01(\t\x12\x13\n\x0bsource_name\x18 \x01(\t\x12\x19\n\x11source_name_short\x18! \x01(\t\x12\x17\n\x0finstrument_name\x18\" \x01(\t\x12\x1d\n\x15instrument_name_short\x18# \x01(\t\x12\x18\n\x10\x64\x65\x62ug_pixel_mask\x18& \x01(\x08\"\xed\x01\n\x10ModuleStatistics\x12\x15\n\rmodule_number\x18\x01 \x01(\x03\x12\x1b\n\x13storage_cell_number\x18\x02 \x01(\x03\x12\x18\n\x10pedestal_g0_mean\x18\x03 \x01(\x02\x12\x18\n\x10pedestal_g1_mean\x18\x04 \x01(\x02\x12\x18\n\x10pedestal_g2_mean\x18\x05 \x01(\x02\x12\x14\n\x0cgain_g0_mean\x18\x06 \x01(\x02\x12\x14\n\x0cgain_g1_mean\x18\x07 \x01(\x02\x12\x14\n\x0cgain_g2_mean\x18\x08 \x01(\x02\x12\x15\n\rmasked_pixels\x18\t \x01(\x04\"V\n\x17JFCalibrationStatistics\x12;\n\x11module_statistics\x18\x01 \x03(\x0b\x32 .JFJochProtoBuf.ModuleStatistics\"F\n\x0bPlotRequest\x12&\n\x04type\x18\x01 \x01(\x0e\x32\x18.JFJochProtoBuf.PlotType\x12\x0f\n\x07\x62inning\x18\x02 \x01(\x04\"M\n\x18RadialIntegrationProfile\x12\r\n\x05title\x18\x01 \x01(\t\x12\"\n\x04plot\x18\x02 \x01(\x0b\x32\x14.JFJochProtoBuf.Plot\"W\n\x19RadialIntegrationProfiles\x12:\n\x08profiles\x18\x01 \x03(\x0b\x32(.JFJochProtoBuf.RadialIntegrationProfile\">\n\x0bWriterInput\x12\x1c\n\x14zmq_receiver_address\x18\x01 \x01(\t\x12\x11\n\tseries_id\x18\x02 \x01(\x03\"3\n\x12\x44\x61taFileStatistics\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07nimages\x18\x02 \x01(\x03\"\x8d\x01\n\x0cWriterOutput\x12\x0f\n\x07nimages\x18\x01 \x01(\x03\x12\x17\n\x0fperformance_MBs\x18\x02 \x01(\x02\x12\x16\n\x0eperformance_Hz\x18\x03 \x01(\x02\x12;\n\x0f\x66ile_statistics\x18\x04 \x03(\x0b\x32\".JFJochProtoBuf.DataFileStatistics\"\x82\x02\n\x14\x44\x65tectorModuleConfig\x12\x17\n\x0fudp_dest_port_1\x18\x01 \x01(\x04\x12\x17\n\x0fudp_dest_port_2\x18\x02 \x01(\x04\x12\x17\n\x0fipv4_src_addr_1\x18\x03 \x01(\t\x12\x17\n\x0fipv4_src_addr_2\x18\x04 \x01(\t\x12\x18\n\x10ipv4_dest_addr_1\x18\x05 \x01(\t\x12\x18\n\x10ipv4_dest_addr_2\x18\x06 \x01(\t\x12\x17\n\x0fmac_addr_dest_1\x18\x07 \x01(\t\x12\x17\n\x0fmac_addr_dest_2\x18\x08 \x01(\t\x12 \n\x18module_id_in_data_stream\x18\t \x01(\x04\"}\n\x0e\x44\x65tectorConfig\x12\x35\n\x07modules\x18\x01 \x03(\x0b\x32$.JFJochProtoBuf.DetectorModuleConfig\x12\x17\n\x0fmodule_hostname\x18\x02 \x03(\t\x12\x1b\n\x13udp_interface_count\x18\x03 \x01(\x03\"\xfc\x01\n\rDetectorInput\x12\x13\n\x0bmodules_num\x18\x01 \x01(\x03\x12*\n\x04mode\x18\x02 \x01(\x0e\x32\x1c.JFJochProtoBuf.DetectorMode\x12\x12\n\nnum_frames\x18\x03 \x01(\x03\x12\x14\n\x0cnum_triggers\x18\x04 \x01(\x03\x12\x1b\n\x13storage_cell_number\x18\x05 \x01(\x03\x12\x1a\n\x12storage_cell_start\x18\x06 \x01(\x03\x12\x1d\n\x15storage_cell_delay_ns\x18\x07 \x01(\x03\x12\x11\n\tperiod_us\x18\t \x01(\x03\x12\x15\n\rcount_time_us\x18\n \x01(\x03\"\x10\n\x0e\x44\x65tectorOutput\"b\n\x0e\x44\x65tectorStatus\x12$\n\x05state\x18\x01 \x01(\x0e\x32\x15.JFJochProtoBuf.State\x12\x12\n\nfw_version\x18\x02 \x01(\x03\x12\x16\n\x0eserver_version\x18\x03 \x01(\t\"Q\n\x0e\x46PGAFIFOStatus\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0e\x32\".JFJochProtoBuf.FPGAFIFOStatusEnum\"\xbb\x02\n\x16\x44\x61taProcessingSettings\x12!\n\x19signal_to_noise_threshold\x18\x01 \x01(\x02\x12\x1e\n\x16photon_count_threshold\x18\x02 \x01(\x03\x12\x18\n\x10min_pix_per_spot\x18\x03 \x01(\x03\x12\x18\n\x10max_pix_per_spot\x18\x04 \x01(\x03\x12\x16\n\x0elocal_bkg_size\x18\x05 \x01(\x03\x12\x1d\n\x15high_resolution_limit\x18\x06 \x01(\x02\x12\x1c\n\x14low_resolution_limit\x18\x07 \x01(\x02\x12\x1a\n\x12\x62kg_estimate_low_q\x18\x08 \x01(\x02\x12\x1b\n\x13\x62kg_estimate_high_q\x18\t \x01(\x02\x12\x1c\n\x14preview_indexed_only\x18\n \x01(\x08\"I\n\x05Image\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\r\n\x05width\x18\x02 \x01(\x03\x12\x0e\n\x06height\x18\x03 \x01(\x03\x12\x13\n\x0bpixel_depth\x18\x04 \x01(\x03\".\n\nMaskToLoad\x12\x0c\n\x04mask\x18\x01 \x03(\r\x12\x12\n\nbit_to_set\x18\x02 \x01(\x05\"\xc9\x02\n\x15MeasurementStatistics\x12\x13\n\x0b\x66ile_prefix\x18\x01 \x01(\t\x12\x18\n\x10images_collected\x18\x02 \x01(\x03\x12\x1d\n\x15max_image_number_sent\x18\x03 \x01(\x03\x12\x1d\n\x15\x63ollection_efficiency\x18\x04 \x01(\x02\x12\x19\n\x11\x63ompression_ratio\x18\x05 \x01(\x02\x12\x11\n\tcancelled\x18\x06 \x01(\x08\x12\x19\n\x11max_receive_delay\x18\x07 \x01(\x03\x12\x15\n\rindexing_rate\x18\n \x01(\x02\x12\x16\n\x0e\x64\x65tector_width\x18\x0c \x01(\x03\x12\x17\n\x0f\x64\x65tector_height\x18\r \x01(\x03\x12\x1c\n\x14\x64\x65tector_pixel_depth\x18\x0e \x01(\x03\x12\x14\n\x0c\x62kg_estimate\x18\x10 \x01(\x02\"\x89\x01\n\x0c\x42rokerStatus\x12+\n\x0c\x62roker_state\x18\x01 \x01(\x0e\x32\x15.JFJochProtoBuf.State\x12\x10\n\x08progress\x18\x02 \x01(\x02\x12\x15\n\rindexing_rate\x18\x03 \x01(\x02\x12#\n\x1breceiver_send_buffers_avail\x18\x04 \x01(\x02\"H\n\x13\x44\x65tectorListElement\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\x12\x10\n\x08nmodules\x18\x02 \x01(\x03\x12\n\n\x02id\x18\x03 \x01(\x03\"v\n\x0c\x44\x65tectorList\x12\x35\n\x08\x64\x65tector\x18\x01 \x03(\x0b\x32#.JFJochProtoBuf.DetectorListElement\x12\x12\n\ncurrent_id\x18\x02 \x01(\x03\x12\x1b\n\x13\x63urrent_description\x18\x03 \x01(\t\"\x1f\n\x11\x44\x65tectorSelection\x12\n\n\x02id\x18\x01 \x01(\x03*T\n\x0b\x43ompression\x12\r\n\tBSHUF_LZ4\x10\x00\x12\x0e\n\nBSHUF_ZSTD\x10\x01\x12\x12\n\x0e\x42SHUF_ZSTD_RLE\x10\x02\x12\x12\n\x0eNO_COMPRESSION\x10\x03*Z\n\x0c\x44\x65tectorMode\x12\x0e\n\nCONVERSION\x10\x00\x12\x07\n\x03RAW\x10\x01\x12\x0f\n\x0bPEDESTAL_G0\x10\x02\x12\x0f\n\x0bPEDESTAL_G1\x10\x03\x12\x0f\n\x0bPEDESTAL_G2\x10\x04*6\n\x12\x46PGAFIFOStatusEnum\x12\t\n\x05\x45MPTY\x10\x00\x12\x08\n\x04\x46ULL\x10\x01\x12\x0b\n\x07PARTIAL\x10\x02*^\n\x05State\x12\x13\n\x0fNOT_INITIALIZED\x10\x00\x12\x08\n\x04IDLE\x10\x01\x12\x08\n\x04\x42USY\x10\x02\x12\x0c\n\x08PEDESTAL\x10\x03\x12\x13\n\x0f\x44\x41TA_COLLECTION\x10\x04\x12\t\n\x05\x45RROR\x10\x05*I\n\x0f\x46PGAPixelOutput\x12\x08\n\x04\x41UTO\x10\x00\x12\t\n\x05INT16\x10\x01\x12\n\n\x06UINT16\x10\x02\x12\t\n\x05INT32\x10\x03\x12\n\n\x06UINT32\x10\x04*{\n\x08PlotType\x12\x10\n\x0c\x42KG_ESTIMATE\x10\x00\x12\x0b\n\x07RAD_INT\x10\x01\x12\x0e\n\nSPOT_COUNT\x10\x02\x12\x11\n\rINDEXING_RATE\x10\x03\x12\x1a\n\x16INDEXING_RATE_PER_FILE\x10\x04\x12\x11\n\rADU_HISTOGRAM\x10\x05\x32\xca\x01\n\x11gRPC_JFJochWriter\x12=\n\x05Start\x12\x1b.JFJochProtoBuf.WriterInput\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x37\n\x05\x41\x62ort\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12=\n\x04Stop\x12\x15.JFJochProtoBuf.Empty\x1a\x1c.JFJochProtoBuf.WriterOutput\"\x00\x32\x82\x03\n\x13gRPC_JFJochDetector\x12?\n\x05Start\x12\x1d.JFJochProtoBuf.DetectorInput\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x36\n\x04Stop\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x41\n\x06Status\x12\x15.JFJochProtoBuf.Empty\x1a\x1e.JFJochProtoBuf.DetectorStatus\"\x00\x12=\n\x02On\x12\x1e.JFJochProtoBuf.DetectorConfig\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x35\n\x03Off\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x39\n\x07Trigger\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x32\xd4\x0c\n\x11gRPC_JFJochBroker\x12\x41\n\x05Start\x12\x1f.JFJochProtoBuf.DatasetSettings\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x36\n\x04Stop\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12:\n\x08Pedestal\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12<\n\nInitialize\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x38\n\x06\x43\x61ncel\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12<\n\nDeactivate\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x39\n\x07Trigger\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12\x42\n\tGetStatus\x12\x15.JFJochProtoBuf.Empty\x1a\x1c.JFJochProtoBuf.BrokerStatus\"\x00\x12\\\n\x18GetCalibrationStatistics\x12\x15.JFJochProtoBuf.Empty\x1a\'.JFJochProtoBuf.JFCalibrationStatistics\"\x00\x12P\n\x13GetDetectorSettings\x12\x15.JFJochProtoBuf.Empty\x1a .JFJochProtoBuf.DetectorSettings\"\x00\x12P\n\x13PutDetectorSettings\x12 .JFJochProtoBuf.DetectorSettings\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12Z\n\x18GetMeasurementStatistics\x12\x15.JFJochProtoBuf.Empty\x1a%.JFJochProtoBuf.MeasurementStatistics\"\x00\x12\\\n\x19GetDataProcessingSettings\x12\x15.JFJochProtoBuf.Empty\x1a&.JFJochProtoBuf.DataProcessingSettings\"\x00\x12\\\n\x19PutDataProcessingSettings\x12&.JFJochProtoBuf.DataProcessingSettings\x1a\x15.JFJochProtoBuf.Empty\"\x00\x12?\n\x08GetPlots\x12\x1b.JFJochProtoBuf.PlotRequest\x1a\x14.JFJochProtoBuf.Plot\"\x00\x12\x62\n\x1cGetRadialIntegrationProfiles\x12\x15.JFJochProtoBuf.Empty\x1a).JFJochProtoBuf.RadialIntegrationProfiles\"\x00\x12?\n\rGetPedestalG0\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12?\n\rGetPedestalG1\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12?\n\rGetPedestalG2\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12\x39\n\x07GetMask\x12\x15.JFJochProtoBuf.Empty\x1a\x15.JFJochProtoBuf.Image\"\x00\x12H\n\x0fGetDetectorList\x12\x15.JFJochProtoBuf.Empty\x1a\x1c.JFJochProtoBuf.DetectorList\"\x00\x12L\n\x0eSelectDetector\x12!.JFJochProtoBuf.DetectorSelection\x1a\x15.JFJochProtoBuf.Empty\"\x00\x62\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'jfjoch_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - _COMPRESSION._serialized_start=5250 - _COMPRESSION._serialized_end=5334 - _DETECTORMODE._serialized_start=5336 - _DETECTORMODE._serialized_end=5426 - _FPGAFIFOSTATUSENUM._serialized_start=5428 - _FPGAFIFOSTATUSENUM._serialized_end=5482 - _STATE._serialized_start=5484 - _STATE._serialized_end=5578 - _FPGAPIXELOUTPUT._serialized_start=5580 - _FPGAPIXELOUTPUT._serialized_end=5653 - _PLOTTYPE._serialized_start=5655 - _PLOTTYPE._serialized_end=5778 + _COMPRESSION._serialized_start=5124 + _COMPRESSION._serialized_end=5208 + _DETECTORMODE._serialized_start=5210 + _DETECTORMODE._serialized_end=5300 + _FPGAFIFOSTATUSENUM._serialized_start=5302 + _FPGAFIFOSTATUSENUM._serialized_end=5356 + _STATE._serialized_start=5358 + _STATE._serialized_end=5452 + _FPGAPIXELOUTPUT._serialized_start=5454 + _FPGAPIXELOUTPUT._serialized_end=5527 + _PLOTTYPE._serialized_start=5529 + _PLOTTYPE._serialized_end=5652 _EMPTY._serialized_start=32 _EMPTY._serialized_end=39 _UNITCELL._serialized_start=41 @@ -54,56 +54,54 @@ if _descriptor._USE_C_DESCRIPTORS == False: _DETECTOR._serialized_end=1571 _INTERNALSETTINGS._serialized_start=1574 _INTERNALSETTINGS._serialized_end=2309 - _JUNGFRAUJOCHSETTINGS._serialized_start=2311 - _JUNGFRAUJOCHSETTINGS._serialized_end=2435 - _MODULESTATISTICS._serialized_start=2438 - _MODULESTATISTICS._serialized_end=2675 - _JFCALIBRATIONSTATISTICS._serialized_start=2677 - _JFCALIBRATIONSTATISTICS._serialized_end=2763 - _PLOTREQUEST._serialized_start=2765 - _PLOTREQUEST._serialized_end=2835 - _RADIALINTEGRATIONPROFILE._serialized_start=2837 - _RADIALINTEGRATIONPROFILE._serialized_end=2914 - _RADIALINTEGRATIONPROFILES._serialized_start=2916 - _RADIALINTEGRATIONPROFILES._serialized_end=3003 - _WRITERINPUT._serialized_start=3005 - _WRITERINPUT._serialized_end=3067 - _DATAFILESTATISTICS._serialized_start=3069 - _DATAFILESTATISTICS._serialized_end=3120 - _WRITEROUTPUT._serialized_start=3123 - _WRITEROUTPUT._serialized_end=3264 - _DETECTORMODULECONFIG._serialized_start=3267 - _DETECTORMODULECONFIG._serialized_end=3525 - _DETECTORCONFIG._serialized_start=3527 - _DETECTORCONFIG._serialized_end=3652 - _DETECTORINPUT._serialized_start=3655 - _DETECTORINPUT._serialized_end=3907 - _DETECTOROUTPUT._serialized_start=3909 - _DETECTOROUTPUT._serialized_end=3925 - _DETECTORSTATUS._serialized_start=3927 - _DETECTORSTATUS._serialized_end=4025 - _FPGAFIFOSTATUS._serialized_start=4027 - _FPGAFIFOSTATUS._serialized_end=4108 - _DATAPROCESSINGSETTINGS._serialized_start=4111 - _DATAPROCESSINGSETTINGS._serialized_end=4426 - _IMAGE._serialized_start=4428 - _IMAGE._serialized_end=4501 - _MASKTOLOAD._serialized_start=4503 - _MASKTOLOAD._serialized_end=4549 - _MEASUREMENTSTATISTICS._serialized_start=4552 - _MEASUREMENTSTATISTICS._serialized_end=4881 - _BROKERSTATUS._serialized_start=4884 - _BROKERSTATUS._serialized_end=5021 - _DETECTORLISTELEMENT._serialized_start=5023 - _DETECTORLISTELEMENT._serialized_end=5095 - _DETECTORLIST._serialized_start=5097 - _DETECTORLIST._serialized_end=5215 - _DETECTORSELECTION._serialized_start=5217 - _DETECTORSELECTION._serialized_end=5248 - _GRPC_JFJOCHWRITER._serialized_start=5781 - _GRPC_JFJOCHWRITER._serialized_end=5983 - _GRPC_JFJOCHDETECTOR._serialized_start=5986 - _GRPC_JFJOCHDETECTOR._serialized_end=6372 - _GRPC_JFJOCHBROKER._serialized_start=6375 - _GRPC_JFJOCHBROKER._serialized_end=7995 + _MODULESTATISTICS._serialized_start=2312 + _MODULESTATISTICS._serialized_end=2549 + _JFCALIBRATIONSTATISTICS._serialized_start=2551 + _JFCALIBRATIONSTATISTICS._serialized_end=2637 + _PLOTREQUEST._serialized_start=2639 + _PLOTREQUEST._serialized_end=2709 + _RADIALINTEGRATIONPROFILE._serialized_start=2711 + _RADIALINTEGRATIONPROFILE._serialized_end=2788 + _RADIALINTEGRATIONPROFILES._serialized_start=2790 + _RADIALINTEGRATIONPROFILES._serialized_end=2877 + _WRITERINPUT._serialized_start=2879 + _WRITERINPUT._serialized_end=2941 + _DATAFILESTATISTICS._serialized_start=2943 + _DATAFILESTATISTICS._serialized_end=2994 + _WRITEROUTPUT._serialized_start=2997 + _WRITEROUTPUT._serialized_end=3138 + _DETECTORMODULECONFIG._serialized_start=3141 + _DETECTORMODULECONFIG._serialized_end=3399 + _DETECTORCONFIG._serialized_start=3401 + _DETECTORCONFIG._serialized_end=3526 + _DETECTORINPUT._serialized_start=3529 + _DETECTORINPUT._serialized_end=3781 + _DETECTOROUTPUT._serialized_start=3783 + _DETECTOROUTPUT._serialized_end=3799 + _DETECTORSTATUS._serialized_start=3801 + _DETECTORSTATUS._serialized_end=3899 + _FPGAFIFOSTATUS._serialized_start=3901 + _FPGAFIFOSTATUS._serialized_end=3982 + _DATAPROCESSINGSETTINGS._serialized_start=3985 + _DATAPROCESSINGSETTINGS._serialized_end=4300 + _IMAGE._serialized_start=4302 + _IMAGE._serialized_end=4375 + _MASKTOLOAD._serialized_start=4377 + _MASKTOLOAD._serialized_end=4423 + _MEASUREMENTSTATISTICS._serialized_start=4426 + _MEASUREMENTSTATISTICS._serialized_end=4755 + _BROKERSTATUS._serialized_start=4758 + _BROKERSTATUS._serialized_end=4895 + _DETECTORLISTELEMENT._serialized_start=4897 + _DETECTORLISTELEMENT._serialized_end=4969 + _DETECTORLIST._serialized_start=4971 + _DETECTORLIST._serialized_end=5089 + _DETECTORSELECTION._serialized_start=5091 + _DETECTORSELECTION._serialized_end=5122 + _GRPC_JFJOCHWRITER._serialized_start=5655 + _GRPC_JFJOCHWRITER._serialized_end=5857 + _GRPC_JFJOCHDETECTOR._serialized_start=5860 + _GRPC_JFJOCHDETECTOR._serialized_end=6246 + _GRPC_JFJOCHBROKER._serialized_start=6249 + _GRPC_JFJOCHBROKER._serialized_end=7869 # @@protoc_insertion_point(module_scope) diff --git a/receiver/jfjoch_action_test.cpp b/receiver/jfjoch_action_test.cpp index 04bbbd26..c6e36e33 100644 --- a/receiver/jfjoch_action_test.cpp +++ b/receiver/jfjoch_action_test.cpp @@ -101,7 +101,7 @@ int main(int argc, char **argv) { x.ImagesPerTrigger(nimages).PedestalG0Frames(0).UseInternalPacketGenerator(true).PhotonEnergy_keV(12.4).NumTriggers(1); x.MaskModuleEdges(false).MaskChipEdges(false); - x.Compression(JFJochProtoBuf::BSHUF_LZ4).DataStreams(nstreams); + x.Compression(CompressionAlgorithm::BSHUF_LZ4).DataStreams(nstreams); logger.Info("Data streams {} Total modules {} Total images {} Threads {}", nstreams, nmodules, nimages, nthreads); diff --git a/tests/DiffractionExperimentTest.cpp b/tests/DiffractionExperimentTest.cpp index 84f7e68b..9aafa3b1 100644 --- a/tests/DiffractionExperimentTest.cpp +++ b/tests/DiffractionExperimentTest.cpp @@ -42,8 +42,8 @@ TEST_CASE("DiffractionExperiment_FilePath","[DiffractionExperiment]") { TEST_CASE("DiffractionExperiment_Compression_Raw","[DiffractionExperiment]") { DiffractionExperiment x; for (auto i: {DetectorMode::Raw, DetectorMode::PedestalG0, DetectorMode::PedestalG1, DetectorMode::PedestalG2}) { - x.Mode(i).Compression(JFJochProtoBuf::BSHUF_ZSTD); - REQUIRE(x.GetCompressionAlgorithm() == JFJochProtoBuf::NO_COMPRESSION); + x.Mode(i).Compression(CompressionAlgorithm::BSHUF_ZSTD); + REQUIRE(x.GetCompressionAlgorithm() == CompressionAlgorithm::NO_COMPRESSION); } } @@ -51,21 +51,17 @@ TEST_CASE("DiffractionExperiment_Compression","[DiffractionExperiment]") { DiffractionExperiment x; // Compression - x.Compression(JFJochProtoBuf::BSHUF_LZ4); - REQUIRE(x.GetCompressionAlgorithm() == JFJochProtoBuf::BSHUF_LZ4); - REQUIRE(x.GetCompressionAlgorithmEnum() == CompressionAlgorithm::BSHUF_LZ4); + x.Compression(CompressionAlgorithm::BSHUF_LZ4); + REQUIRE(x.GetCompressionAlgorithm() == CompressionAlgorithm::BSHUF_LZ4); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD); - REQUIRE(x.GetCompressionAlgorithm() == JFJochProtoBuf::BSHUF_ZSTD); - REQUIRE(x.GetCompressionAlgorithmEnum() == CompressionAlgorithm::BSHUF_ZSTD); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD); + REQUIRE(x.GetCompressionAlgorithm() == CompressionAlgorithm::BSHUF_ZSTD); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD_RLE); - REQUIRE(x.GetCompressionAlgorithm() == JFJochProtoBuf::BSHUF_ZSTD_RLE); - REQUIRE(x.GetCompressionAlgorithmEnum() == CompressionAlgorithm::BSHUF_ZSTD_RLE); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE); + REQUIRE(x.GetCompressionAlgorithm() == CompressionAlgorithm::BSHUF_ZSTD_RLE); - x.Compression(JFJochProtoBuf::NO_COMPRESSION); - REQUIRE(x.GetCompressionAlgorithm() == JFJochProtoBuf::NO_COMPRESSION); - REQUIRE(x.GetCompressionAlgorithmEnum() == CompressionAlgorithm::NO_COMPRESSION); + x.Compression(CompressionAlgorithm::NO_COMPRESSION); + REQUIRE(x.GetCompressionAlgorithm() == CompressionAlgorithm::NO_COMPRESSION); } //TODO: Update @@ -643,7 +639,7 @@ TEST_CASE("DiffractionExperiment_DetectorInput_StorageCell","[DiffractionExperim TEST_CASE("DiffractionExperiment_LoadDatasetSettings", "[DiffractionExperiment]") { DiffractionExperiment x; - x.ImagesPerTrigger(567).BeamY_pxl(324).Compression(JFJochProtoBuf::BSHUF_ZSTD); + x.ImagesPerTrigger(567).BeamY_pxl(324).Compression(CompressionAlgorithm::BSHUF_ZSTD); JFJochProtoBuf::DatasetSettings settings; settings.set_images_per_trigger(234); settings.set_ntrigger(56); @@ -662,7 +658,7 @@ TEST_CASE("DiffractionExperiment_LoadDatasetSettings", "[DiffractionExperiment]" REQUIRE(x.GetBeamX_pxl() == Approx(23.4)); REQUIRE(x.GetBeamY_pxl() == Approx(123.4)); REQUIRE(x.GetSpaceGroupNumber() == 45); - REQUIRE(x.GetCompressionAlgorithm() == JFJochProtoBuf::BSHUF_LZ4); + REQUIRE(x.GetCompressionAlgorithm() == CompressionAlgorithm::BSHUF_LZ4); REQUIRE(x.GetSampleName() == "lyso1"); REQUIRE(x.GetDataFileCount() == 5); REQUIRE(x.GetDetectorDistance_mm() == Approx(57.6)); @@ -672,7 +668,7 @@ TEST_CASE("DiffractionExperiment_LoadDatasetSettings", "[DiffractionExperiment]" TEST_CASE("DiffractionExperiment_LoadDatasetSettings_Invalid", "[DiffractionExperiment]") { DiffractionExperiment x; - x.ImagesPerTrigger(567).BeamY_pxl(324).Compression(JFJochProtoBuf::BSHUF_ZSTD); + x.ImagesPerTrigger(567).BeamY_pxl(324).Compression(CompressionAlgorithm::BSHUF_ZSTD); JFJochProtoBuf::DatasetSettings settings; settings.set_images_per_trigger(-1); settings.set_ntrigger(56); diff --git a/tests/FrameTransformationTest.cpp b/tests/FrameTransformationTest.cpp index d72740d0..1263ed0d 100644 --- a/tests/FrameTransformationTest.cpp +++ b/tests/FrameTransformationTest.cpp @@ -21,7 +21,7 @@ TEST_CASE("FrameTransformation_Raw_NoCompression" ,"") { experiment.DataStreams(ndatastreams); experiment.Mode(DetectorMode::Raw); - experiment.Compression(JFJochProtoBuf::NO_COMPRESSION); + experiment.Compression(CompressionAlgorithm::NO_COMPRESSION); FrameTransformation transformation(experiment); @@ -61,7 +61,7 @@ TEST_CASE("FrameTransformation_Converted_NoCompression" ,"") { const uint16_t ndatastreams = 2; DiffractionExperiment experiment(DetectorGeometry(ndatastreams * nmodules, 2)); experiment.DataStreams(ndatastreams); - experiment.Mode(DetectorMode::Conversion).Compression(JFJochProtoBuf::NO_COMPRESSION); + experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::NO_COMPRESSION); FrameTransformation transformation(experiment); @@ -111,7 +111,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_lz4" ,"") { DiffractionExperiment experiment(DetectorGeometry(ndatastreams * nmodules, 2)); experiment.DataStreams(ndatastreams); - experiment.Mode(DetectorMode::Conversion).Compression(JFJochProtoBuf::BSHUF_LZ4); + experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_LZ4); FrameTransformation transformation(experiment); @@ -142,7 +142,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_lz4" ,"") { REQUIRE(bshuf_read_uint32_BE(output_compressed.data()+8) == JFJochBitShuffleCompressor::DefaultBlockSize * experiment.GetPixelDepth()); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithmEnum(), output_compressed, + REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithm(), output_compressed, experiment.GetPixelsNum())); REQUIRE(input_0[511*1024] == output[CONVERTED_MODULE_SIZE * (2 * nmodules - 2) + 0]); @@ -171,7 +171,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd" ,"") { DiffractionExperiment experiment(DetectorGeometry(ndatastreams * nmodules, 2)); experiment.DataStreams(ndatastreams); - experiment.Mode(DetectorMode::Conversion).Compression(JFJochProtoBuf::BSHUF_ZSTD); + experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD); FrameTransformation transformation(experiment); @@ -201,7 +201,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd" ,"") { output_compressed.resize(compressed_size); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithmEnum(), output_compressed, + REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithm(), output_compressed, experiment.GetPixelsNum())); REQUIRE(input_0[511*1024] == output[CONVERTED_MODULE_SIZE * (2 * nmodules - 2) + 0]); @@ -230,7 +230,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_rle" ,"") { DiffractionExperiment experiment(DetectorGeometry(ndatastreams * nmodules, 2)); experiment.DataStreams(ndatastreams); - experiment.Mode(DetectorMode::Conversion).Compression(JFJochProtoBuf::BSHUF_ZSTD_RLE); + experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE); FrameTransformation transformation(experiment); @@ -260,7 +260,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_rle" ,"") { output_compressed.resize(compressed_size); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithmEnum(), output_compressed, + REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithm(), output_compressed, experiment.GetPixelsNum())); REQUIRE(input_0[511*1024] == output[CONVERTED_MODULE_SIZE * (2 * nmodules - 2) + 0]); @@ -289,7 +289,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_32bit" ,"") { DiffractionExperiment experiment(DetectorGeometry(ndatastreams * nmodules, 2)); experiment.DataStreams(ndatastreams); - experiment.Mode(DetectorMode::Conversion).Compression(JFJochProtoBuf::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32); + experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32); FrameTransformation transformation(experiment); @@ -322,7 +322,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_32bit" ,"") { output_compressed.resize(compressed_size); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithmEnum(), output_compressed, + REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithm(), output_compressed, experiment.GetPixelsNum())); REQUIRE(input_0[511*1024] == output[CONVERTED_MODULE_SIZE * (2 * nmodules - 2) + 0]); @@ -353,7 +353,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_unsigned_16bit" ,"") { DiffractionExperiment experiment(DetectorGeometry(ndatastreams * nmodules, 2)); experiment.DataStreams(ndatastreams); - experiment.Mode(DetectorMode::Conversion).Compression(JFJochProtoBuf::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::UINT16); + experiment.Mode(DetectorMode::Conversion).Compression(CompressionAlgorithm::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::UINT16); REQUIRE(!experiment.IsPixelSigned()); REQUIRE(experiment.GetPixelDepth() == 2); @@ -389,7 +389,7 @@ TEST_CASE("FrameTransformation_Converted_bshuf_zstd_unsigned_16bit" ,"") { output_compressed.resize(compressed_size); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithmEnum(), output_compressed, + REQUIRE_NOTHROW(JFJochDecompress(output, experiment.GetCompressionAlgorithm(), output_compressed, experiment.GetPixelsNum())); REQUIRE(input_0[511*1024] == output[CONVERTED_MODULE_SIZE * (2 * nmodules - 2) + 0]); diff --git a/tests/HDF5WritingTest.cpp b/tests/HDF5WritingTest.cpp index 9b8111f1..56af3e6a 100644 --- a/tests/HDF5WritingTest.cpp +++ b/tests/HDF5WritingTest.cpp @@ -170,7 +170,7 @@ TEST_CASE("HDF5Writer", "[HDF5][Full]") { DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36)); std::vector spots; - x.FilePrefix("test02_1p10").ImagesPerTrigger(5).DataFileCount(2).Compression(JFJochProtoBuf::NO_COMPRESSION); + x.FilePrefix("test02_1p10").ImagesPerTrigger(5).DataFileCount(2).Compression(CompressionAlgorithm::NO_COMPRESSION); StartMessage start_message; x.FillMessage(start_message); @@ -201,7 +201,7 @@ TEST_CASE("HDF5Writer_Spots", "[HDF5][Full]") { spots.push_back({20,50,12}); spots.push_back({1000,500,3}); - x.FilePrefix("test02_1p10_spots").ImagesPerTrigger(5).DataFileCount(2).Compression(JFJochProtoBuf::NO_COMPRESSION); + x.FilePrefix("test02_1p10_spots").ImagesPerTrigger(5).DataFileCount(2).Compression(CompressionAlgorithm::NO_COMPRESSION); StartMessage start_message; x.FillMessage(start_message); @@ -234,7 +234,7 @@ TEST_CASE("HDF5Writer_Rad_Int_Profile", "[HDF5][Full]") { std::vector rad_int_profile(mapping.GetBinNumber(), 4.0); std::vector rad_int_avg(mapping.GetBinNumber(), 0.33); - x.FilePrefix("test02_1p10_rad_int").ImagesPerTrigger(5).DataFileCount(2).Compression(JFJochProtoBuf::NO_COMPRESSION); + x.FilePrefix("test02_1p10_rad_int").ImagesPerTrigger(5).DataFileCount(2).Compression(CompressionAlgorithm::NO_COMPRESSION); StartMessage start_message; x.FillMessage(start_message); start_message.rad_int_bin_to_q = mapping.GetBinToQ(); @@ -259,8 +259,7 @@ TEST_CASE("HDF5Writer_Rad_Int_Profile", "[HDF5][Full]") { TEST_CASE("HDF5Writer_VDS", "[HDF5][Full]") { DiffractionExperiment x(DetectorGeometry(1)); - x.ImagesPerTrigger(5).DataFileCount(5) - .Compression(JFJochProtoBuf::NO_COMPRESSION).FilePrefix("vds"); + x.ImagesPerTrigger(5).DataFileCount(5).Compression(CompressionAlgorithm::NO_COMPRESSION).FilePrefix("vds"); { RegisterHDF5Filter(); @@ -314,7 +313,7 @@ TEST_CASE("HDF5Writer_VDS", "[HDF5][Full]") { TEST_CASE("HDF5Writer_VDS_missing", "[HDF5][Full]") { DiffractionExperiment x(DetectorGeometry(1)); - x.ImagesPerTrigger(5).DataFileCount(5).Compression(JFJochProtoBuf::NO_COMPRESSION).FilePrefix("vds_missing"); + x.ImagesPerTrigger(5).DataFileCount(5).Compression(CompressionAlgorithm::NO_COMPRESSION).FilePrefix("vds_missing"); { RegisterHDF5Filter(); @@ -370,7 +369,7 @@ TEST_CASE("HDF5Writer_VDS_missing", "[HDF5][Full]") { TEST_CASE("HDF5Writer_VDS_zero_images", "[HDF5][Full]") { DiffractionExperiment x(DetectorGeometry(1)); - x.ImagesPerTrigger(5).DataFileCount(5).Compression(JFJochProtoBuf::NO_COMPRESSION).FilePrefix("vds_zero"); + x.ImagesPerTrigger(5).DataFileCount(5).Compression(CompressionAlgorithm::NO_COMPRESSION).FilePrefix("vds_zero"); { RegisterHDF5Filter(); diff --git a/tests/JFJochReceiverIntegrationTest.cpp b/tests/JFJochReceiverIntegrationTest.cpp index b20c31a7..b409e857 100644 --- a/tests/JFJochReceiverIntegrationTest.cpp +++ b/tests/JFJochReceiverIntegrationTest.cpp @@ -15,7 +15,7 @@ TEST_CASE("JFJochReceiverTest_Raw", "[JFJochReceiver]") { x.Mode(DetectorMode::Raw); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(100).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::NO_COMPRESSION); + .ImagesPerTrigger(100).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::NO_COMPRESSION); AcquisitionDeviceGroup aq_devices; for (int i = 0; i < x.GetDataStreamsNum(); i++) { @@ -46,7 +46,7 @@ TEST_CASE("JFJochReceiverTest_Conversion", "[JFJochReceiver]") { x.Mode(DetectorMode::Conversion); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::BSHUF_ZSTD); + .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD); AcquisitionDeviceGroup aq_devices; for (int i = 0; i < x.GetDataStreamsNum(); i++) { @@ -73,7 +73,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_U16", "[JFJochReceiver]") { x.Mode(DetectorMode::Conversion); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::UINT16); + .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::UINT16); REQUIRE(!x.IsPixelSigned()); AcquisitionDeviceGroup aq_devices; @@ -101,7 +101,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_I32", "[JFJochReceiver]") { x.Mode(DetectorMode::Conversion); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32); + .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32); AcquisitionDeviceGroup aq_devices; for (int i = 0; i < x.GetDataStreamsNum(); i++) { @@ -128,7 +128,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_Summation2", "[JFJochReceiver]") { x.Mode(DetectorMode::Conversion); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::BSHUF_ZSTD).Summation(2); + .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD).Summation(2); AcquisitionDeviceGroup aq_devices; for (int i = 0; i < x.GetDataStreamsNum(); i++) { @@ -155,7 +155,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_StorageCell", "[JFJochReceiver]") { x.Mode(DetectorMode::Conversion); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::BSHUF_ZSTD).StorageCells(16); + .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD).StorageCells(16); REQUIRE(x.GetImageNum() == 16); REQUIRE(x.GetStorageCellNumber() == 16); diff --git a/tests/MockAcquisitionDeviceTest.cpp b/tests/MockAcquisitionDeviceTest.cpp index fb16b7be..d96dd4c0 100644 --- a/tests/MockAcquisitionDeviceTest.cpp +++ b/tests/MockAcquisitionDeviceTest.cpp @@ -48,7 +48,7 @@ TEST_CASE("JFJochReceiverTest_Raw_MockAcquisitionDevice", "[JFJochReceiver]") { x.Mode(DetectorMode::Raw); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true) - .ImagesPerTrigger(100).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::NO_COMPRESSION); + .ImagesPerTrigger(100).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::NO_COMPRESSION); AcquisitionDeviceGroup aq_devices; for (int i = 0; i < x.GetDataStreamsNum(); i++) { @@ -82,7 +82,7 @@ TEST_CASE("JFJochReceiverTest_Conversion_MockAcquisitionDevice", "[JFJochReceive x.Mode(DetectorMode::Conversion); x.PedestalG0Frames(0).NumTriggers(1).UseInternalPacketGenerator(true).DataStreams(x.GetModulesNum()) - .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(JFJochProtoBuf::BSHUF_ZSTD); + .ImagesPerTrigger(32).DataFileCount(16).PhotonEnergy_keV(12.4).Compression(CompressionAlgorithm::BSHUF_ZSTD); AcquisitionDeviceGroup aq_devices; for (int i = 0; i < x.GetDataStreamsNum(); i++) { diff --git a/tests/ZSTDCompressorTest.cpp b/tests/ZSTDCompressorTest.cpp index e665e68e..9ee57f3f 100644 --- a/tests/ZSTDCompressorTest.cpp +++ b/tests/ZSTDCompressorTest.cpp @@ -227,14 +227,14 @@ TEST_CASE("JFjochZstdCompressor_Frame_ones","[ZSTD]") { TEST_CASE("JFJochCompressor_JFJochDecompressor_ZSTD","[ZSTD]") { DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36)); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD).FPGAOutputMode(JFJochProtoBuf::INT32); std::vector image(x.GetPixelsNum()); for (auto &i: image) i = 345; - JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithmEnum()); + JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithm()); std::vector tmp(x.GetPixelsNum() * sizeof(int32_t) * 4 + 12); @@ -242,21 +242,21 @@ TEST_CASE("JFJochCompressor_JFJochDecompressor_ZSTD","[ZSTD]") { tmp.resize(tmp_size); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithmEnum(), tmp, x.GetPixelsNum())); + REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithm(), tmp, x.GetPixelsNum())); REQUIRE(output.size() == x.GetPixelsNum() * x.GetPixelDepth()); REQUIRE(memcmp(image.data(), output.data(), x.GetPixelsNum() * sizeof(int32_t)) == 0); } TEST_CASE("JFJochCompressor_JFJochDecompressor_LZ4","[ZSTD]") { DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36)); - x.Compression(JFJochProtoBuf::BSHUF_LZ4).FPGAOutputMode(JFJochProtoBuf::INT32); + x.Compression(CompressionAlgorithm::BSHUF_LZ4).FPGAOutputMode(JFJochProtoBuf::INT32); std::vector image(x.GetPixelsNum()); for (auto &i: image) i = 5678; - JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithmEnum()); + JFJochBitShuffleCompressor compressor(x.GetCompressionAlgorithm()); std::vector tmp(x.GetPixelsNum() * sizeof(int32_t) * 4 + 12); @@ -264,21 +264,21 @@ TEST_CASE("JFJochCompressor_JFJochDecompressor_LZ4","[ZSTD]") { tmp.resize(tmp_size); std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithmEnum(), tmp, x.GetPixelsNum())); + REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithm(), tmp, x.GetPixelsNum())); REQUIRE(output.size() == x.GetPixelsNum() * x.GetPixelDepth()); REQUIRE(memcmp(image.data(), output.data(), x.GetPixelsNum() * sizeof(int32_t)) == 0); } TEST_CASE("JFJochDecompressor_None","[ZSTD]") { DiffractionExperiment x(DetectorGeometry(8, 2, 8, 36)); - x.Compression(JFJochProtoBuf::NO_COMPRESSION).FPGAOutputMode(JFJochProtoBuf::INT32); + x.Compression(CompressionAlgorithm::NO_COMPRESSION).FPGAOutputMode(JFJochProtoBuf::INT32); std::vector image(x.GetPixelsNum()); for (auto &i: image) i = 578; std::vector output; - REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithmEnum(), image, x.GetPixelsNum())); + REQUIRE_NOTHROW(JFJochDecompress(output, x.GetCompressionAlgorithm(), image, x.GetPixelsNum())); REQUIRE(output.size() == x.GetPixelsNum() * x.GetPixelDepth()); REQUIRE(memcmp(image.data(), output.data(), x.GetPixelsNum() * sizeof(int32_t)) == 0); } diff --git a/tools/CompressionBenchmark.cpp b/tools/CompressionBenchmark.cpp index 9dd174d8..c0270a6f 100644 --- a/tools/CompressionBenchmark.cpp +++ b/tools/CompressionBenchmark.cpp @@ -76,7 +76,7 @@ std::string CheckDecompression(const DiffractionExperiment &x, size_t nimages, c std::vector decompress_v; auto start_time = std::chrono::system_clock::now(); for (int i = 0; i < nimages; i++) { - JFJochDecompress(decompress_v, x.GetCompressionAlgorithmEnum(), output[i], x.GetPixelsNum()); + JFJochDecompress(decompress_v, x.GetCompressionAlgorithm(), output[i], x.GetPixelsNum()); } auto end_time = std::chrono::system_clock::now(); @@ -165,36 +165,36 @@ int main(int argc, char **argv) { x.MaskChipEdges(false); - x.Compression(JFJochProtoBuf::NO_COMPRESSION); + x.Compression(CompressionAlgorithm::NO_COMPRESSION); for (int i = 0; i < 3; i++) CheckCompression(x, nimages, image, nthreads); for (int i = 0; i <3; i++) { - x.Compression(JFJochProtoBuf::NO_COMPRESSION).Mode(DetectorMode::Raw); + x.Compression(CompressionAlgorithm::NO_COMPRESSION).Mode(DetectorMode::Raw); std::cout << "None (memcpy) " << CheckCompression(x, nimages, image, nthreads); - x.Compression(JFJochProtoBuf::NO_COMPRESSION).Mode(DetectorMode::Conversion); + x.Compression(CompressionAlgorithm::NO_COMPRESSION).Mode(DetectorMode::Conversion); std::cout << "None (geom transform) " << CheckCompression(x, nimages, image, nthreads); - x.Compression(JFJochProtoBuf::BSHUF_LZ4); + x.Compression(CompressionAlgorithm::BSHUF_LZ4); std::cout << "BSHUF/LZ4 " << CheckCompression(x, nimages, image, nthreads); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD); std::cout << "BSHUF/ZSTD (0) " << CheckCompression(x, nimages, image, nthreads); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD_RLE); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE); std::cout << "BSHUF/ZSTD (RLE) " << CheckCompression(x, nimages, image, nthreads); std::cout << std::endl; } std::cout << std::endl << std::endl << "Decompression" << std::endl << std::endl; - x.Compression(JFJochProtoBuf::BSHUF_LZ4); + x.Compression(CompressionAlgorithm::BSHUF_LZ4); std::cout << "BSHUF/LZ4 " << CheckDecompression(x, nimages, image); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD); std::cout << "BSHUF/ZSTD " << CheckDecompression(x, nimages, image); - x.Compression(JFJochProtoBuf::BSHUF_ZSTD_RLE); + x.Compression(CompressionAlgorithm::BSHUF_ZSTD_RLE); std::cout << "BSHUF/ZSTD (RLE) " << CheckDecompression(x, nimages, image); } \ No newline at end of file