CHANGELOG¶
1.0.0 (31 July 2020)¶
Improvement
- Improve FFT of image in feature extraction. #268
- Improve fitting interface. #265
- Add reset panel in the main GUI. #264
- Update default config files. #262
- Improve azimuthal integration performance. #261, #268
- Revert y-axis orientation change. #260
- Add Python binding for double dtype in generalized geometry. #259
New Feature
- Implemented pulse-resolved correlation in special suite. #270
- Add curve fitting in histogram window. #267
- Support streaming Basler camera from files. #266
- Add more fitting types, Gaussian, Lorentzian and erf. #265
- Add pump-probe FOM to histogram window. #263
- Reset moving average in correlation scan mode. #263
0.9.1 (15 July 2020)¶
Bug Fix
- Fix transform type update in TransformView in ImageTool. #251
Improvement
- PlotItem will not be shown in legend if its name is empty. #254
- Improve y2-axis plot implementation. #253
- Improve stack detector modules. #247
- Implement ScatterPlotItem to replace the pyqtgraph one. #238
New Feature
- Implement curve fitting in correlation window. #255
- Implement azimuthal integration and concentric ring detection in C++. #252
0.9.0 (30 June 2020)¶
Bug Fix
- Fix bug in data source tree introduced in 0.8.4. #235
- Fix transparent Nan pixel with the latest pyqtgraph version. #231
Improvement
- Improve performance of PlotCurveItem and add benchmarks for PlotItems and ImageViewF. #243
- Make ctrl widgets in Imagetool more compact. #241
- Improve C++ code quality and suppress TBB deprecate warning. #239
- Add meter bar to plot area. #236
- Reimplement ImageItem and PlotItem to replace the pyqtgraph ones. #232 #242
- Improve data source updating and color encoding matched source items in the data source tree. #230 #234
- Rename configurator to analysis setup manager and allow take snapshot for each setup. #228
- Update data source and trouble shooting in documentation. #227
- Add summary of compiler flags for EXtra-foam-python. #226
- Update installation (gcc7) and CI (gcc8). #226
- Rename misleading mouse mode in the right-click context menu. #211
- Update pyqtgraph to the latest master branch. #206 #211 #233
New Feature
- Annotate peaks in azimuthal integration view. #240
- Enable Legend for all the plot items. #206 #237
- Implement logarithmic X/Y scale in right-click context menu. #206
- Enable C++ API installation and add examples. #227
0.8.4 (8 June 2020)¶
Bug Fix
- Beam size in the bar plot will change when the resolution changes in the correlation analysis. #209
Improvement
- Update Redis versions: server -> 6.0.5; redis-py -> 3.5.2; hiredis-py -> 1.0.1. #220
- Slightly improve image proc C++ code performance on machines with few threads. #219
- Visualize data type in data source Tree. #218
- Improve the performance of pulse filter. #214
- Improve setup.py. #212
- Keep data when resolution changes in correlation analysis; move sequence classes into algorithms/data_structures. #209
- Mask ASIC edge when n_modules == 1; simplify geometry binding code. #207
- Add benchmark for generalized geometry. #205
- Make special suite more self-contained. #204
- Mask JungFrau and JungFrauPR. #200
- Move statistics ctrl widgets into corresponding windows. #199
New Feature
- Color encoding matched sources in the data source tree. #220
- Add processed pulse counter in ImageTool. #216
- Add support for C++ API. #213
- Add xtensor-blas as a submodule. #210
- Implement image transform processor and view (FFT, edge detection). #203
- Integrate Karabo gate (PipeToEXtraFoam device) which allows request pipeline and control data in special suite. #168
0.8.3 (11 May 2020)¶
- Breaking change
- In the terminal, “–n_modules 2” is required to run JungFrauPR with two modules. #41
- Bug Fix
- Change pixel size of ePix100 from 0.11 mm to 0.05 mm. #189
- Improvement
- Mask tile/ASIC edges by default. #192
- Improve geometry 1M and its unittest. #190
- Invert y axis for displayed image. #187
- Rename geometry to geometry_1m in C++. #186
- Improve tr-XAS analysis in special suite. #163 #183
- Improve correlating error message. #182
- Improve documentation for special suite. #177
- New reset interface in special suite. #170
- Regularize names of methods and attributes in special suite. #167
- Add new mode, start/end train ID control and progress bar, etc. in FileStreamer. #166
- Move definition of meta source from config to SourceCatalog. #165
- Use correlated queue in special suite. #164
- Improve shape comparing error message in C++. #160
- Improve mask image data implementation and interface. #157
- Move image assembler into image processor. # 155
- Refactor masking code. #149
- Implement generic binding for nansum and nanmean. #114
- New Feature
- Add axis calibration in Gotthard analysis. #179
- Implement generalized geometry for multi-module detectors. #175 #196
- Implement streaming JungFrauPR data from files. #174
- Implement Gotthard pump-probe analysis in special suite. #173 #178
- Add ROI histogram in CameraView in special suite. #172
- Add ROI control in special suite. #171
- Implement XAS-TIM-XMCD in special suite. #162
- Implement MultiCameraView in special suite. #147
- Implement XAS-TIM in special suite. #146
- Implement load and save mask in pixel coordinates. #132 #154 #185 #191 #197
0.8.2 (8 April 2020)¶
Bug Fix
- Fix not able to close file stream process when closing, if the file stream window is opened through the main GUI. #122
- Fix offset correction switch between dark and offset. #141
Improvement
- Move mouse hover (x, y, v) display implementation to ImageViewF. #148
- Visualize dark and offset separately. #141
- Improve loading reference image and calibration constants. #141
- Implement smart auto levels of image. #138
- Enhance SourceCatalog.add_item. #137
- Improve class init with moving average descriptor. #136
- Bump EXtra-data version and remove duplicated code. #131
- Tweak assembling code in C++ to make the result exactly the same as EXtra-geom. #129
- Simplify ImageProc binding code. #125
- Update dependencies. #118
- Update documentation. #115 #130
- Move tr-XAS analysis to special suite. #89
New Feature
- Generalize file stream. #122
- Add standard deviation, variance and speckle contrast into ROI FOM. #119
- Implement tile edge mask for modular detectors. #110
- Add support for fast ADC as a digitizer source. #101
- Implement Camera view (special suite). #89
- Implement Gotthard analysis (special suite) for MID. #89
- Implement interface and examples for special analysis suite. #89
0.8.1 (16 March 2020)¶
Improvement
- Automatically reset empty image mask with inconsistent shape. #104
New Feature
- Implement AGIPD 1M geometry in C++. #102
- Add ROI1_DIV_ROI2 as an option for ROI FOM. #103
- Implement normalization for ROI FOM. #96
- Implement ROI FOM master-slave scan. #93
- Add branch-based CI and Singularity image deployment. #92
- Add support for ePix100 detector. #90
- Implement save and load metadata. #87
0.8.0.1 (3 March 2020)¶
Bug Fix
- Fix display bug in ImageTool #85
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. #61
- New C++ implementation to mask pixel in Nan and/or return a boolean mask. #61
- ROI pulse FOM and NORM will only be calculated after registration. #61
New Feature
- Enable train-resolved FOM filter. #78
- Display numbers of processed and dropped trains. #77
- Support online single module data from a modular detector. #72
- Allow type selection for 1D projection (sum or mean). #71
- Implement mouse cursor value indicator for PlotWidgetF. #66
- Preliminary implementation of nanmean and nansum in C++. #61
Bug Fix
- Fix pulse-filter in digitizer. #80
- Fix gain/offset slicer for train-resolved detectors. #76
- Use nansum in Tr-XAS analysis. #75
- Fix typo in unittest. #74
- Fix changing device ID in data source on the fly. #69
0.7.3 (24 February 2020)¶
Breaking change
- In the terminal, “–topic” becomes a positional argument. #41
Improvement
- Reimplement Color classes. mkPen and mkBrush from pyqtgraph are not needed anymore. #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. #45
- Replace Python’s build-in queue.Queue to speed up data transfer. #45
- Improve the visualization of heatmap. #44
- Allow starting instances with different detectors without warning message. #41
- Allow to shutdown others’ Redis server to avoid zombie Redis server occupying the port. #41
- Implement Fast assembling for LPD and DSSC in C++. #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. #38
- Implement streaming raw (AGIPD, LPD) data from files and also ‘confirmed’ streaming raw (AGIPD, LPD) data online. #38
New Feature
- Allow specific bin range of histogram. #56
- Provide ROI histogram for train-resolved detectors; Provide ROI histogram for the averaged image of pulse-resolved detectors. #56
- Display mean, median and std for all histogram plots. #56
- ROI histogram for pulse-resolved detectors. #55
- Double-y plot for 1D binning. #53
- Support normalizing by digitizer (TIM). #52
- Support multiple ZMQ endpoints connections. #45
- Automatically correlate data from the same/different endpoints with train ID. #45
- Allow automatically choosing bin range. #44
- Also add an option to stack the detectors (LPD and DSSC) without assembling. #40
- Control required sources in the DataSourceTree. #38
- Allow filtering by value for all non-detector data sources. #38
- Implement AdqDigitizer processor. #38
Bug Fix
- Fix default AGIPD geometry. #62
- Disable pulse slicer for train-resolved detectors in DataSourceTree and gain/offset correction. #56
- Fix logger level. #41
- Fix extra-foam-kill. #41
0.7.2 (16 January 2020)¶
Improvement
- Remove ‘AZIMUTHAL_INTEG_RANGE’ from configuration #32
- Remove ‘process monitor’ from action and make it a tab in DataSourceWidget #32
- Reduce the update frequency of plots which accumulates data, for example, correlation, histogram, heatmap, etc., to 1 Hz #31
- Improve Redis server configuration #29
- Allow ImageViewF.setImage(None) #28
- Provide better interface for users to call C++ code #25
- Log geometry change and remove ‘AZIMUTHAL_INTEG_POINTS”, “CENTER_X”, “CENTER_Y” from configuration #24
- Rearrange C++ code and separate benchmark code from unittest #15
- Re-implement PairData -> SimplePairSequence and AccumulatedData -> OneWayAccuPairSequence #14
- Re-implement BinProcessor. Now, data history is stored and users can re-bin it at anytime #14
- Reduce MAX_QUEUE_SIZE from 5 to 2 to reduce latency #14
- Remove ‘update_hist’ in PumpProbeData and CorrelationData. Now GUI update is completely decoupled from processors #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 #14
- Update dependencies #11
- Simplify ThreadLogger code #10
New Feature
- Implement q-map visualization #32
- Implement pixel-wise gain-offset correction by loading numpy array from files #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) #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 #14
0.7.1 (4 December 2019)¶
This is the first release after migrating from EuXFEL gitlab to github!!!
Improvement
- Rename omissive fai to foam and change config folder from karaboFAI to EXtra-foam #6
- Test
- Migrate CI from EuXFEL gitlab to public github #1
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