-
Notifications
You must be signed in to change notification settings - Fork 5
/
ChangeLog.txt
496 lines (330 loc) · 21.7 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
BakingTray ChangeLog
Most commits and development should go in the dev branch (or a branch devoted to a specific feature).
When mature, changes should be merged into master *as a merge commit* and this changelog file updated.
In the following text, the tag "USER" indicates a significant change that will impact user experience in some way.
The tag "DEVELOPER" indicates a change that significantly impacts the code but is likely not visible to the user.
For more information on major releases merged into master from pre-release.
7th November 2022
- USER (Dev) - Fix regression that had caused the laser power to no longer be displayed in the laser GUI.
- USER (Dev) - Add a tooltip to explain what the Lock-Z checkbox does.
August 2022
- USER (Dev) - Add routines that allow the user to display laser power in ScanImage. This will
require the current (as of this date) ScanImage to work at all. To display power in mW
in the BEAMS window, you will need to upgrade to the *next* release of ScanImage that is
currently not available.
- USER (Dev) - Power at the sample is written to the acquisition log file.
26th July 2022
Various small bug fixes implemented over the last 7 months.
- USER (Dev) - Tested and made small fixes so BakingTray runs with SI 2021 and SI 2022.
- USER (Dev) - Running "BakingTray" at the command line will now start ScanImage first if necessary.
December 6th 2021
- USER (Dev) - Bugfix to ensure Front/Left is always viable.
- USER (Dev) - Do not display image box in Acq GUI axes if it's empty.
- USER (Dev) - Minor bugfix to AMS SIN11
11th October 2021
- DEVELOPER (Dev) - Pockels cell power can be automatically cut off using a DIO line that is controlled by laser GUI. This requires a relay that can handle mains voltage.
11th October 2021
- USER (Dev) - Do not write full recipe on Bake if one already exists (happens during a resume). This fixes a bug where the number
of sections to acquire decreased each time an acquisition was resumed.
- POWERUSER (Dev) - Hidden feature to enable Pockels cell when laser is turned on or off. Uses an NI DAQ.
- USER (Dev) - Preview tile scan updates every other tile instead of every 10.
- USER (Dev) - Handle encoder with Faulhaber MCDC
22nd to 30th September
- USER (Dev) - Large re-organisation of acquire GUI to show a schematic of the slide. MAJOR.
22nd September 2021
- USER (Dev) - Cut size moved to Prepare GUI and is set automatically when "Set Blade Position" is pressed
- USER (Dev) - Z-jack now locks after the first slice not when a cutting position is set.
- USER (Dev) - Overlaid stage boundaries no longer are limited by the blade on the x axis.
21th September
- USER (Dev) - Auto-Trim now moves the sample to the correct side of the blade before starting if needed.
20th September
- USER (Dev) - Add support for ThorLabs Tiberius laser.
15th September
- USER (Dev) - Minor improvements to Z locking.
14th September
- USER (Dev) - Sample ID is set automatically after the user chooses a save directory
- DEVELOPER (Dev) - Stages are no longer checked for reference on each move. Other minor motion-related changes.
10th September 2021
- USER (Dev) - When a cutting position is set the Z jack motions via the GUI are disabled using a checkbox. This can be over-ridden by the user.
- USER (Dev) - Slice last section is now removed from the acqusition view and is disabled by default.
5th September 2021
- USER (Dev) - Stages that need referencing no longer auto-ref when connected. Instead the user must manually select Tools > References Stages from the menu.
- DEVELOPER (Dev) - Zaber linear stages can be used as X/Y. e.g. X-LRM100A-DE51 are verified to work.
- DEVELOPER (Dev) - Option to set a wait time that scales with distance moved during tile scan instead of waiting for stage to report motion completion. To use this, set fixedStageMotionTimeConstant in SIBT_settings.yml to a positive number or tweak hBT.scanner.settings.hardware.fixedStageMotionTimeConstant on an instance of a BT class. The latter will not be saved for future sessions. Zero means that BakingTray will wait for the motion controller to indicate it has completed a motion. 0.05 means BakingTray will wait 0.05 s per mm. So for a 2 mm motion there would be a 0.1 s wait. Note that there is an additional fixed delay on top of this due to ScanImage buffering time between frames. This is a fixed offset and is about 75 to 100 ms. So it could be that for, say, 1 mm motions little additional delay is really needed. This is an EXPERIMENTAL feature and may need further development. **So might be better off in general to initiate a non-blocking motion then wait at the end of the callback for the motion to complete.**
24th August 2021
- USER (Dev) - Cutting start point is set to NaN on startup and when a new sample created. System will not cut until it's set.
- USER (Dev) - Default sample name is now the microscope ID.
- USER (Dev) - Warning issued if the tile size in BakingTray does not match that in ScanImage.
- POWERUSER (Dev) - The new SYSTEM.defaultSavePath setting in the systemSettings.yml allows you to set the default path to which data should be saved. **It is suggested you set this!** It will reduce user errors and training time. <---
11th August 2021
- USER (Dev) - Add the ability move Z stage up and down with R and F in addition to Q and E.
6th August
Minor bug fixes and doc changes
- USER (Dev) - Compatibility bug fixes for SI Basic 2021.
1st July 2021
- USER (Dev) - Improve behavior of zoom buttons and box buttons in acq view. Includes bug fixes.
- USER (Dev) - The ROI that was last drawn by the user is painted temporarily onto the imaged area.
21st June 2021
- Show relative motion increment in slicing debug message and correctly display the current z depth (bugfix)
18th June 2021
- USER (Dev) - If PMT Auto-On is enabled, the acquisition will not proceed.
17th June 2021
- USER (Dev) - Bugfix: Correct slow start on Bake
- USER (Dev) - New default settings in system settings file are now automatically added to the live file. A backup of the original live file is created.
- New option added to system settings file: defaultYcutPos. This allows the vibratime to be mounted off-centre
with respect to objective. Useful for some water baths.
- USER (Dev) - Option to set dominant stage tiling direction. To date X was dominant. Now Y is default. NOTE: User should also update StitchIt!
4th May 2021
- USER - All trim slices now start from the cutting start point. This seems more like the expected behavior
- Bugfix - Attempt to trap error that is causing acquisition to crash if there is only one row or column of
tiles near the the end of a sample. Acquisition will just end at this point. The assumption being
that it is complete. This is not a perfect solution but it's serviceable for now.
3nd May 2021
- USER - If requested number of slices exceeds what is possible, the recipe is updated automatically. Therefore
default recipe can now have a very large number of slices requested and by extension BakingTray will
by default image the full available depth.
- USER - New Sample has a confirmation dialogue and resets settings in the prepare GUI.
- USER - Various bugfixes, including for SI Basic.
5th April 2021
- USER (Dev) - Runs on ScanImage Basic
26th March 2021
- USER (Dev) - Bugfix: Section start number is correctly displayed in Acq view immediately when resuming.
23rd March 2021
- USER (Dev) - Middle-click to move in preview GUI! Thanks to Florian Vollrath for this.
- USER (Dev) - A little while ago we add Zaber devices.
- USER (Dev) - New sample menu item that also turns on reso scanner
17th Feb 2021
- USER (dev): Software version number in recipe is now the Git branch and commit hash
- USER (dev): PMT auto-on is disabled each time the scanner is armed. i.e. each time a tile scan is done.
- USER (dev): Z-stage homes automatically when user goes to 0 mm from a position greater than 20 mm.
NOTE: the above can be disabled by a new setting. Information on this is presented when
the software starts. You will need to add SYSTEM.homeZjackOnZeroMove=0 to systemSettings.yml
to disable the behavior or SYSTEM.homeZjackOnZeroMove=1 to disable warning message but retain
the new behavior.
10th Feb 2021
- USER (dev): support report can now be generated from the Tools menu.
- USER (dev): fix bug related to numOverlapZPlanes recipe setting being stuck at >0 once it's been changed.
- USER (dev): do not start auto-trim if user simply closes the auto-trim dialog.
- USER (dev): SIBT settings removed from componentSettings.m
9th Feb 2021
- USER (dev/prerelease): fix bug relate to acquisition resume on reso scanner systems.
- USER (dev/prerelease): autoROI uses the lowest wavelength channel. NOTE: requires channels to be named in ScanImage: "Red", "Green", "Blue"
8th Feb 2021
- USER (dev/prerelease): acquisition resume now applies more scanner settings than before. e.g. spatial fill fraction, pixel integration values (galvo), and scanner offsets.
- USER: various bug-fixes to acquisition resume.
- USER: "Recipe" button displays "LOADING" during acquisition resumes that are slow.
6th Feb 2021
- USER: Add Ensemble class for AeroTech controllers. (NOTE: in future we want to merge this somehow with Soloist)
4th Feb 2021
- DEVELOPER - saved autoROI stats for logging now contain the image and binary mask used for each section.
- DEVELOPER - refactor of some autoROI code
20th Jan 2021
- User: fixed bug that caused autoROI tile pattern to only be correct for a tile overlap of 10%
15th Jan 2021
- User/super-user: scanner setting YAML can now set fast and slow offsets and also spatial fill fraction
10th December 2020
- User: On bake completion only a single Slack message is now sent.
3rd December 2020
- User MAJOR CHANGES:
BakingTray now has an "Auto-ROI" feature. This is documented at https://bakingtray.mouse.vision.
You will need to make changes to settings files for this to work! These are described here:
- In MATLAB R2019b. Start with softwareOpenGl mode if you notice rare random crashes
** Install instructions for autoROI **
- MATLAB R2019b. Start with softwareOpenGl mode if you notice rare random crashes
- In your default recipe which is to be loaded each time ensure you have "numOverlapZPlanes: 0.0" in the mosaic section
- You will likely to have to play with the fields in SIBT.setings.tileAcq until the preview image looks correct.
Make the changes permanent by editing the appropriate file in the SETTINGS directory.
- Update stitchit ini file. IMPORTANT: this includes the stitched image UD and LR flips. Ensure the final stitched images
aren't flipped compared to BakingTray!
- In StitchIt the TissueCyte settings are now gone from the StitchIt ini files. You should remove the [experiment], [micsPerPixel], and "Objectives" sections. See the stitchitConf_DEFAULT.ini file in StitchIt for an example.
https://github.com/SainsburyWellcomeCentre/StitchIt/blob/master/code/INI/stitchitConf_DEFAULT.ini
- Other changes: Numerous bugfixes and small improvements.
The changes in this merge commit encompass all the following starting from about Nov 2019.
22nd September 2020
- dev - stage boundaries overlaid on preview image
- dev - stage position timer runs only after a stage motion entered in absolute position windows. Jog motions are now blocking.
- dev - cutting cycle now moves to XY position before moving in Z and stage positions beyond the blade no longer block cutting.
27th July 2020
- Pre-release and dev branches - Now merged with auto-ROI
- autoROI code merged into dev
6th July 2020
- User [branch autoROI]: ROI rectangle snaps to the nearest number of whole tiles.
22nd June 2020
- User [branch autoROI]: Number of overlapping z-planes is now a setting in the GUI.
15th June 2020
- User [branch autoROI]: Main view is re-organised so order of elements is more logical
6th June 2020
- User [branch autoROI]: Bugfixes
- User [branch autoROI]: Improve support report contents
2nd June 2020
- DEVELOPER [branch autoROI]: Add the option to save all preview tiles to disk for debugging purposes.
20th May 2020
- DEVELOPER [branch autoROI]: Add more examples for using the API. In this case minimal bake examples.
11th May 2020
- DEVELOPER [branch autoROI]: Delete EPS300.m as likely it will never be completed.
- DEVELOPER [branch autoROI]: Speed ups for dummy acquisition mode.
29th April 2020
- DEVELOPER [branch autoROI]:
* Recipe.tilePattern can now create a tile grid for one one defined ROI using a new input argument
* Refactor of properties and methods in BT and acquisition_view to enable tile grids to be overlaid on top of the preview image
- Note: as with changes from previous days there are numerous "TODOs"
27th April 2020
- USER [branch autoROI]: remove scanner ID (name) and scan type ("tile") from status text. This is not useful information and/or it can be found elsewhere.
- DEVELOPER [branch autoROI]:
* Began work on auto-ROI feature in new branch: "autoROI"
* Removed ribbon-scanning code (autoROI)
* Renamed default property value recipe.mosaic.scanmode from 'tile' to 'tiled: manual ROI' (autoROI)
* Preview stack is returned rotated correctly so only axis xy is needed for it to look as it should
24th April 2020
- DEVELOPER [branch dev]:
* dummyScanner correctly saves tiles for stitching via BT.bake
* verbose in recipe now stops the messages relating to the scanner settings parameters not being available.
23rd April 2020
- DEVELOPER:
* downsampled tile size set using the number of microns per pixel rather than a fixed size in pixels.
* previewScans and Bake largely work with the dummyScanner.
* x/y speed set to default value on startup.
* The update interval for the preview image can now be altered using a property.
* Add option to disable axis ready check during acquisition
21st April 2020
- DEVELOPER:
* dummyScanner uses previewStacks as dataset format.
* dummyScanner has a basic UI: it can be started from the main BT menu and has a simple GUI with features available from menu.
* Restructure acquisition_view into separate files
6th November 2019
- USER: potential out of bounds stage errors are caught before cutting begins.
24th September 2019
- USER: add "affineMatGen" tool for easily generating affine transform matrices to paste into config files.
4rd September 2019
- DEVELOPER: dummyScanner displays current tile to screen.
- USER: Bugfix to slicing speed.
3rd September 2019
- USER: MaiTai laser does not automatically turn off if system has been paused for long periods.
30 August 2019
- DEVELOPER: Update dummy mode so it works again
28th June 2019
- USER: Add options for setting pixel bin factor and sample rate for linear scanners
- USER: BUGFIX -- Fail gracefully if an error happens during preview scan.
26th June 2019
- USER: a bunch of bug fixes. Some fairly significant
10th June 2019
- USER: BakingTray is now compatible with ScanImage 5.6
7th June 2019
- USER: BakingTray can now often recover modelock failures of the laser
- USER: Confirmation dialog prior to Bake
- USER: Checks that the correct PMTs are enabled before Bake
5th April 2019
- DEVELOPER: linearstage.transformDistance replaced by two new properties for handling input and output separately.
- DEVELOPER: simplify buildMotionComponent
- DEVELOP: DRV014 class internalises settings previously in buildMotionComponent
- USER: ** invert field removed from componentSettings.m ** You will need to use new model. Send issue if stuck.
21st March 2019
- Tweaks to acquisition time estimate
- USER: Y stage moves to zero at the end of acquisition and before "sliceOnce"
- USER: Y cut pos edit box always disabled
4th March 2019
- USER: Improved acquisition time estimates (includes taking into account averaging)
- USER: Averaging disables when sample is complete
- Small GUI improvement: disable cut Y pos edit box
- Double-check laser is off-line before bailing out
14th February 2019
- USER: default front/left is now fully implemented
- USER: dev branch allows averaging in z-stacks with suitable ScanImage release
17th January 2019
- USER: scan zoom factor automatically set in ScanImage. But can still be over-ridden afterwards if needed.
- USER: resonant scanner remains on after preview scan to encourage it to settle. It will still be switched off at the end of the acquisition.
8th January 2019
- USER: Add ability to send Slack messages. **YOU WILL NEED TO UPDATE YOUR SYSTEM INI FILE**
- DEVELOPER: default front/left present in sys INI file but not implemented fully. **YOU WILL NEED TO UPDATE YOUR SYSTEM INI FILE **
Instructions:
For the above, the easiest way is to move your system ini file to the back up settings dir.
Then run BakingTray.settings.readSystemSettings and manually add back your original settings
whilst editing the new values.
19 December 2018
- DEVELOPER: Bugfix -- write correct z-voxel size when imaging only one optical plane
29th September 2018
- Various bug fixes
27 August 2018
- Improve slicing command so the blade vibration does not lead to the motor controller hanging on some cuts.
21st July 2018
- USER: Now we re-apply PMT, beam power, and averaging when resuming
- USER: add time to full recipe save name
20th July 2018
- USER: NEW FEATURE New parameters for optimising stitching accuracy: https://github.com/SainsburyWellcomeCentre/BakingTray/wiki/Achieving-high-stitching-accuracy
5th July 2018
- Fast-Z settings in ScanImage change right away when user edits the number of planes.
- Bug fixes to box drawing routine.
- Add a (currently hidden) option to kick the section off the block in the event of it sticking
- Bugfixes to the dummy classes so the system runs without hardware.
15th June 2018
- No longer need to move sample away from the blade before starting the setup cuts
23rd April 2018
- Minor bugfixes relating to the bounding box drawing.
- Add methods for referencing stages
- BakingTray.utils.measureSurfaceHeight measures surface height at different locations within a single z-stack
17th April 2018
- Add class for PI C-663
- Explicitly close MaiTai shutter before turning off
- USER: hBT.getStageStatus returns info on stages
- USER: hBT.renewLaserConnection to re-connect to laser in event of a failure on startup
- BakingTray.utils.generateSupportReport for assistance in reporting errors
- MCDC cutter sends stop command when connecting
- BUGFIX: Preview image size is now calculated correctly
- BUGFIX: setVentralMidline failure corrected for small water baths
21st November 2017
- USER: ** Move to ScanImage 5.3.1 **
- DEVELOPER: Ribbon scanning as an experimental feature. (NOT READY FOR USERS)
- Speed improvements in GUI.
9th November 2017
- Channel offsets are enforced to always be calculated by ScanImage.
11th October 2017
- USER: The number of slices is capped according to the currently remaining travel range of the z-stage.
- Small tweaks to improve GUI responsiveness under certain circumstances.
21st September 2017
- USER: "Tile Size" label text turns red if the scan settings differ from the value in the pop-up box
20th September 2017
- USER: Move image resolution selection from the menu to the recipe panel.
- USER: Add checkboxes to acquisition view for leaving the laser on and cutting the last section.
- Save ScanImage acquisition settings to disk after the first section has been acquired.
- Add class for interacting with Chameleon lasers from Coherent.
14th August 2017
- USER: The recipe fast z-settings are applied after each rapid preview scan.
- USER: Report estimated disk space and number of channels to main BakingTray GUI.
- USER: Acquisition will not start if there is insufficient disk space.
- USER: Checkboxes in Acquisition view for turning off laser after acq finishes and slicing the last section.
- USER: Improve the accuracy of the initial acquisition time estimate.
- BUGFIX: Slicing events and section finishe are now logged to detailed section log file
- ScanImage pZ adjust no longer set by BakingTray
- "Keep resonant scanner on" always set to false in SIBT teardown method.
4th August 2017
- USER: Define imaging area by drawing a box. Zoom in and out.
- USER: Channel offsets no longer subtracted in ScanImage.
- USER: Z-stack settings applied to ScanImage when the acquisition view opens.
- Multiple bug fixes.
2nd August 2017
- PMTs turn off automatically at the end of acquisition.
- Various bug fixes including to on-line preview image display.
- Tweaks to laser control that should fix some latency issues and error messages.
25th July 2017
- USER: Basic resumption of previous acquisition now works but is not well tested yet.
- USER: Substantial speed improvements save about 3 hours off a typical acquisition.
- USER: Front/Left and Cutting Start Point in the Prepare GUI can now be manually edited.
- USER: Fast Z flyback time and turn-around blanking are now set via ScanImage CFG files not the SYSTEM settings YML.
- DEVELOPER: recipe.TileStepSize and recipe.NumTiles are now separate classes.
- Stage position corresponding to mouse location in preview image is shown.
- Improve the way default files are created on first startup of a fresh install.
- Pressing ScanImage "Abort" button during scanning disarms SIBT.
- Fewer messages displayed to screen during acquisition.
- It is no longer possible for the small jog size in the Prepare GUI to be larger in value than the large jog size.
- Many significant bug fixes.
5th July 2017
- Get rid of ScanImage user-functions. Everything now done in SIBT with listeners on the user-function notifiers.
- Pressing "Abort" in ScanImage during tile-scanning will now disarm SIBT
- Stage coords shown in acq window
4th July 2017
- Major organisation of project prior to publishing on GitHib.
- Multiple small bug fixes.
- Code tidying.
- Data no longer written into current directory.
- Raw data go into rawData directory as mandated by StitchIt.
- acquisition view reports when cutting is taking place