Changelog¶
1.0.0 (31 July 2020)¶
Improvement
- Improve FFT of image in feature extraction. PR #268
- Improve fitting interface. PR #265
- Add reset panel in the main GUI. PR #264
- Update default config files. PR #262
- Improve azimuthal integration performance. PR #261, PR #268
- Revert y-axis orientation change. PR #260
- Add Python binding for double dtype in generalized geometry. PR #259
New Feature
- Implemented pulse-resolved correlation in special suite. PR #270
- Add curve fitting in histogram window. PR #267
- Support streaming Basler camera from files. PR #266
- Add more fitting types, Gaussian, Lorentzian and erf. PR #265
- Add pump-probe FOM to histogram window. PR #263
- Reset moving average in correlation scan mode. PR #263
0.9.1 (15 July 2020)¶
Bug Fix
- Fix transform type update in TransformView in ImageTool. PR #251
Improvement
New Feature
0.9.0 (30 June 2020)¶
Bug Fix
Improvement
- Improve performance of PlotCurveItem and add benchmarks for PlotItems and ImageViewF. PR #243
- Make ctrl widgets in Imagetool more compact. PR #241
- Improve C++ code quality and suppress TBB deprecate warning. PR #239
- Add meter bar to plot area. PR #236
- Reimplement ImageItem and PlotItem to replace the pyqtgraph ones. PR #232, PR #242
- Improve data source updating and color encoding matched source items in the data source tree. PR #230, PR #234
- Rename configurator to analysis setup manager and allow take snapshot for each setup. PR #228
- Update data source and trouble shooting in documentation. PR #227
- Add summary of compiler flags for EXtra-foam-python. PR #226
- Update installation (gcc7) and CI (gcc8). PR #226
- Rename misleading mouse mode in the right-click context menu. PR #211
- Update pyqtgraph to the latest master branch. PR #206, PR #211, PR #233
New Feature
0.8.4 (8 June 2020)¶
Bug Fix
- Beam size in the bar plot will change when the resolution changes in the correlation analysis. PR #209
Improvement
- Update Redis versions: server -> 6.0.5; redis-py -> 3.5.2; hiredis-py -> 1.0.1. PR #220
- Slightly improve image proc C++ code performance on machines with few threads. PR #219
- Visualize data type in data source Tree. PR #218
- Improve the performance of pulse filter. PR #214
- Improve setup.py. PR #212
- Keep data when resolution changes in correlation analysis; move sequence classes into algorithms/data_structures. PR #209
- Mask ASIC edge when n_modules == 1; simplify geometry binding code. PR #207
- Add benchmark for generalized geometry. PR #205
- Make special suite more self-contained. PR #204
- Mask JungFrau and JungFrauPR. PR #200
- Move statistics ctrl widgets into corresponding windows. PR #199
New Feature
- Color encoding matched sources in the data source tree. PR #220
- Add processed pulse counter in ImageTool. PR #216
- Add support for C++ API. PR #213
- Add xtensor-blas as a submodule. PR #210
- Implement image transform processor and view (FFT, edge detection). PR #203
- Integrate Karabo gate (PipeToEXtraFoam device) which allows request pipeline and control data in special suite. PR #168
0.8.3 (11 May 2020)¶
- Breaking change
- In the terminal, “–n_modules 2” is required to run JungFrauPR with two modules. PR #41
- Bug Fix
- Change pixel size of ePix100 from 0.11 mm to 0.05 mm. PR #189
- Improvement
- Mask tile/ASIC edges by default. PR #192
- Improve geometry 1M and its unittest. PR #190
- Invert y axis for displayed image. PR #187
- Rename geometry to geometry_1m in C++. PR #186
- Improve tr-XAS analysis in special suite. PR #163, PR #183
- Improve correlating error message. PR #182
- Improve documentation for special suite. PR #177
- New reset interface in special suite. PR #170
- Regularize names of methods and attributes in special suite. PR #167
- Add new mode, start/end train ID control and progress bar, etc. in FileStreamer. PR #166
- Move definition of meta source from config to SourceCatalog. PR #165
- Use correlated queue in special suite. PR #164
- Improve shape comparing error message in C++. PR #160
- Improve mask image data implementation and interface. PR #157
- Move image assembler into image processor. PR #155
- Refactor masking code. PR #149
- Implement generic binding for nansum and nanmean. PR #114
- New Feature
- Add axis calibration in Gotthard analysis. PR #179
- Implement generalized geometry for multi-module detectors. PR #175, PR #196
- Implement streaming JungFrauPR data from files. PR #174
- Implement Gotthard pump-probe analysis in special suite. PR #173, PR #178
- Add ROI histogram in CameraView in special suite. PR #172
- Add ROI control in special suite. PR #171
- Implement XAS-TIM-XMCD in special suite. PR #162
- Implement MultiCameraView in special suite. PR #147
- Implement XAS-TIM in special suite. PR #146
- Implement load and save mask in pixel coordinates. PR #132, PR #154, PR #185, PR #191, PR #197
0.8.2 (8 April 2020)¶
Bug Fix
Improvement
- Move mouse hover (x, y, v) display implementation to ImageViewF. PR #148
- Visualize dark and offset separately. PR #141
- Improve loading reference image and calibration constants. PR #141
- Implement smart auto levels of image. PR #138
- Enhance SourceCatalog.add_item. PR #137
- Improve class init with moving average descriptor. PR #136
- Bump EXtra-data version and remove duplicated code. PR #131
- Tweak assembling code in C++ to make the result exactly the same as EXtra-geom. PR #129
- Simplify ImageProc binding code. PR #125
- Update dependencies. PR #118
- Update documentation. PR #115, PR #130
- Move tr-XAS analysis to special suite. PR #89
New Feature
- Generalize file stream. PR #122
- Add standard deviation, variance and speckle contrast into ROI FOM. PR #119
- Implement tile edge mask for modular detectors. PR #110
- Add support for fast ADC as a digitizer source. PR #101
- Implement Camera view (special suite). PR #89
- Implement Gotthard analysis (special suite) for MID. PR #89
- Implement interface and examples for special analysis suite. PR #89
0.8.1 (16 March 2020)¶
Improvement
- Automatically reset empty image mask with inconsistent shape. PR #104
New Feature
- Implement AGIPD 1M geometry in C++. PR #102
- Add ROI1_DIV_ROI2 as an option for ROI FOM. PR #103
- Implement normalization for ROI FOM. PR #96
- Implement ROI FOM master-slave scan. PR #93
- Add branch-based CI and Singularity image deployment. PR #92
- Add support for ePix100 detector. PR #90
- Implement save and load metadata. PR #87
0.8.0 (2 March 2020)¶
Improvement
- Get rid of the artifact induced by masking pixel to zero when calculating statistics, e.g. mean, median, std.
- Provide a mask to pyFAI to perform azimuthal integration. PR #61
- New C++ implementation to mask pixel in Nan and/or return a boolean mask. PR #61
- ROI pulse FOM and NORM will only be calculated after registration. PR #61
New Feature
- Enable train-resolved FOM filter. PR #78
- Display numbers of processed and dropped trains. PR #77
- Support online single module data from a modular detector. PR #72
- Allow type selection for 1D projection (sum or mean). PR #71
- Implement mouse cursor value indicator for PlotWidgetF. PR #66
- Preliminary implementation of nanmean and nansum in C++. PR #61
Bug Fix
0.7.3 (24 February 2020)¶
Breaking change
- In the terminal, “–topic” becomes a positional argument. PR #41
Improvement
- Reimplement Color classes. mkPen and mkBrush from pyqtgraph are not needed anymore. PR #53
- Allow select pipeline policy (wait or drop) via commandline. The default is wait since the data arrival speed is slower than the processing speed during online analysis. PR #45
- Replace Python’s build-in queue.Queue to speed up data transfer. PR #45
- Improve the visualization of heatmap. PR #44
- Allow starting instances with different detectors without warning message. PR #41
- Allow to shutdown others’ Redis server to avoid zombie Redis server occupying the port. PR #41
- Implement Fast assembling for LPD and DSSC in C++. PR #40
- Resign the config code. Now each instrument will has its own config file, e.g. scs.config.yaml, fxe.config.yaml. All the instrument sources will be set up in the config file. PR #38
- Implement streaming raw (AGIPD, LPD) data from files and also ‘confirmed’ streaming raw (AGIPD, LPD) data online. PR #38
New Feature
- Allow specific bin range of histogram. PR #56
- Provide ROI histogram for train-resolved detectors; Provide ROI histogram for the averaged image of pulse-resolved detectors. PR #56
- Display mean, median and std for all histogram plots. PR #56
- ROI histogram for pulse-resolved detectors. PR #55
- Double-y plot for 1D binning. PR #53
- Support normalizing by digitizer (TIM). PR #52
- Support multiple ZMQ endpoints connections. PR #45
- Automatically correlate data from the same/different endpoints with train ID. PR #45
- Allow automatically choosing bin range. PR #44
- Also add an option to stack the detectors (LPD and DSSC) without assembling. PR #40
- Control required sources in the DataSourceTree. PR #38
- Allow filtering by value for all non-detector data sources. PR #38
- Implement AdqDigitizer processor. PR #38
Bug Fix
0.7.2 (16 January 2020)¶
Improvement
- Remove ‘AZIMUTHAL_INTEG_RANGE’ from configuration PR #32
- Remove ‘process monitor’ from action and make it a tab in DataSourceWidget PR #32
- Reduce the update frequency of plots which accumulates data, for example, correlation, histogram, heatmap, etc., to 1 Hz PR #31
- Improve Redis server configuration PR #29
- Allow ImageViewF.setImage(None) PR #28
- Provide better interface for users to call C++ code PR #25
- Log geometry change and remove ‘AZIMUTHAL_INTEG_POINTS”, “CENTER_X”, “CENTER_Y” from configuration PR #24
- Rearrange C++ code and separate benchmark code from unittest PR #15
- Re-implement PairData -> SimplePairSequence and AccumulatedData -> OneWayAccuPairSequence PR #14
- Re-implement BinProcessor. Now, data history is stored and users can re-bin it at anytime PR #14
- Reduce MAX_QUEUE_SIZE from 5 to 2 to reduce latency PR #14
- Remove ‘update_hist’ in PumpProbeData and CorrelationData. Now GUI update is completely decoupled from processors PR #14
- Merge CorrelationWindow into StatisticsWindow. Rename the old statistics widgets to histogram widgets; add a new tab in the MainGUI which is dedicated for ‘statistics’ control PR #14
- Update dependencies PR #11
- Simplify ThreadLogger code PR #10
New Feature
- Implement q-map visualization PR #32
- Implement pixel-wise gain-offset correction by loading numpy array from files PR #25
- New ROI analysis interface (enable different FOMs of ROI; enable pulse-resolved ROI normalizer; enable pulse-resolved ROI1 +/- ROI2 FOM; enable visualization of ROI projection and pulse-resolved ROI FOM in ImageTool) PR #12
Bug Fix
- Fix a bug in MovingAverageScalar and MovingAverageArray. Setting a new value of None will reset the moving average instead of being ignored PR #14
0.7.1 (4 December 2019)¶
This is the first release after migrating from EuXFEL gitlab to github!!!
0.7.0 (25 November 2019)¶
Improvement
- Change supporting email, (long) description and header content in each file #174
- Regularize Qt imports #173
- Re-arange the GUI interface and move image related control into ImageTool #171
- Add hiredis-py as dependency and improve redis connection infrastructure #170
- Remove (canvas, dockarea, flowchart, multiprocess) from pyqtgraph code base #155
New Feature
- Support online FCCD raw data analysis #169
- Publish available data sources in Redis and improve infrastructure in client proxy #166
Bug Fix
- Clean-up thread logger gracefully #170
0.6.2 (15 November 2019)¶
Improvement
- Code clean up and improve base classes in GUI #164
- Improve image processing code in cpp (align with xfai) #159
- Enhance ImageTool interface (integrate functions in DarkRunWindow and OverviewWindow) #158
New Feature
- Introduce special analysis interface (implement tr-XAS) #165
- Add an option to not normalize VFOM #162
Bug Fix
- Pulse slicer will also slice the stored dark images #165
0.6.1 (28 October 2019)¶
Improvement
- Remove XAS related code (GUI, processor, etc.) !154
- Update import location of ZMQStreamer !151
- Improve system information summary interface and enable detecting GPU resources !138
New Feature
- Implement normalization by XGM pipeline data !157
- New data source management interface !157
- Implemented web monitor in Dash !152
0.6.0 (31 August 2019)¶
Bug Fix
- Assembling image from files, when non-detector source available in data !140
- Add mid specific data sources in ctrl widget !139
Improvement
- Code clean-up ! 138
- Remove moving average of images !128
- Display number of filtered pulses/train in OverviewWindow !128
- Raise StopPipelineError in ImageProcessorPulse instead of ProcessingError !128
New Feature
Test
0.5.5 (26 August 2019)¶
Bug Fix
- Fix user defined control data in 1D binning analysis !134
- Fix image mask in pulse-resolved ROI !133
Improvement
- Allow instrument sources to stream apart from DET !135
- Allow shutdown idling karaboFAI instance remotely !130
- Rearrange plot widgets !121
- Improve the API for C++ image processing code !116 !129
- AGIPD also works with bridge data with ‘ONDA’ format !115
New Feature
- Add statistics plot for pulse of interest !127
Test
0.5.4 (20 August 2019)¶
Bug Fix
- Fix bug if shape changes when using out array for assembling !122
Improvement
New Feature
- Support pulse-resolved and two-module JungFrau !83
Test
0.5.3 (16 August 2019)¶
Bug Fix
- Fix series nan mean two images !106
Improvement
- Introduce ‘TOPIC’ to separate instrument specific sources !114
- Implement masking image in cpp !110
New Feature
- Implement DarkRunWindow !109
- Allow save image and load reference in ImageTool !107
Test
- Integrate cpp unittest into setuptools and CI (both parallel and series) !110
0.5.2 (9 August 2019)¶
Bug Fix
Improvement
- Prevent costly GUI updating from blocking data acquisition !101
- Improve nanmean performance when simple slice is not applicable !97
- Add output array in image assembly !85
New Feature
- List critical information of a run in FileStreamer window !103
- Implement AboutWindow !102
- Pulse slicing and data reduction !99
- New widget SmartSliceLineEdit !98
Test
0.5.1 (5 August 2019)¶
Bug Fix
- Capture exception when trying to kill others’ instance !93
- Add AGPID detector in FileServer !90
- Fix when a new detector key cannot be found in an old config file !87
Improvement
- Implement parallel version of xt_nanmean_images !91
- Delete detector data in raw data after Assembling !88
- Update geometry file and default quad positins for DSSC !86
- Make compiling with TBB and XSIMD default !84
New Feature
- Added MID_DET… source to list in AGIPD dict in config.py !94
Test
- Unittest statistics #82
- Unittest for command proxy #81