Releases: Cephla-Lab/Squid
Releases · Cephla-Lab/Squid
v0.5.8
What's Changed
- UI/new multipoint by @hongquanli in #333
- gui performance improvement: register fovs in batch by @Alpaca233 in #363
- Fix SimulatedCamera resolution calculation based on crop dimensions by @hongquanli in #368
- Filter wheel abstraction by @Alpaca233 in #359
- Fix the bug caused by repeated homing by @veerwang in #369
- Fix Laser AF exposure UI to use focus camera limits and laser AF calibration coefficient unit by @hongquanli in #371
- gui: add dialog for showing fovs to image in fluidics runs by @Alpaca233 in #373
- gui: 1536 well plate mouse selection by @Alpaca233 in #372
- bug fix: minor fix for #372 and #373 by @Alpaca233 in #375
- feat: save log in acquisition folder by @Alpaca233 in #374
- Install PyVCAM using pip by @GeekLogan in #377
- bug fix: switching to 1536 well plate by @Alpaca233 in #380
- Fix: Use camera exposure time in simulation mode by @hongquanli in #381
- feat: Add Skip Saving checkbox to multipoint acquisition widgets by @hongquanli in #383
- feat: Add RAM usage check for mosaic view before acquisition by @hongquanli in #382
- fix: Actually free RAM when clearing mosaic view layers by @hongquanli in #385
- fix: Replace napari icon and menu with Cephla's by @hongquanli in #388
- feat: Add Configuration dialog for editing settings via GUI by @hongquanli in #389
- fix: Resolve test segfaults / hang + Qt compatibility update + .pre-commit-config by @hongquanli in #391
New Contributors
- @GeekLogan made their first contribution in #377
Full Changelog: v0.5.7...v0.5.8
v0.5.7
What's Changed
- make control dock scrollable by @hongquanli in #332
- camera stress test: remove unused continuous, add binning, add bytes report by @ianohara in #334
- Revert "make control dock scrollable" by @hongquanli in #336
- fix: preserve channel metadata in multipage TIFFs via ImageDescri… by @hongquanli in #337
- Feature/add time and piezo to multipage tiff metadata by @hongquanli in #338
- feat: add OME-TIFF support by @hongquanli in #339
- remove SlidePositionController and SlidePositionWorker by @Alpaca233 in #324
- bug fix: buttons for coordinates are not disabled properly after acquisition is finished by @Alpaca233 in #342
- bug fix: Flexible Multipoint Widget by @Alpaca233 in #341
- feat: disable keyboard tracking on all spinbox widgets by @hongquanli in #344
- use same format for "Save Coordinates" and coordinates.csv in acquisition by @Alpaca233 in #343
- feat: set laser af reference when setting z min in z range by @Alpaca233 in #345
- bug fix: Flexible Multipoint importing/exporting list by @Alpaca233 in #346
- feat: Tucsen FL26 BW binning by @Alpaca233 in #348
- bug fix: toupcam resolution config by @Alpaca233 in #349
- remove some log info because it's taking too much disk space by @Alpaca233 in #351
- ux improvement: automatically stop live when doing laser af by @Alpaca233 in #354
- bug fix: laser power calibration by @Alpaca233 in #350
- workflow improvement: use z position from last timepoint to start autofocus during timelapse by @Alpaca233 in #353
- bug fix: z range initialization by @Alpaca233 in #352
- bug fix: Squid 6060 config by @Alpaca233 in #356
- feat: clear coordinates for navigation viewer by @Alpaca233 in #355
- bug fix: only the last manual region is shown on Navigation Viewer by @Alpaca233 in #357
- use variable sleep time to improve time lapse acquisition time resolution by @Alpaca233 in #358
- bug fix: missing live controller in well plate multipoint widget by @Alpaca233 in #361
- bug fix: move to piezo home position on start by @Alpaca233 in #360
- update default value for laser af settings by @Alpaca233 in #362
- bug fix: format of the coordinates file used for fluidics widget is different from the one in wellplate multipoint widget by @Alpaca233 in #364
Full Changelog: v0.5.6...v0.5.7
Known Issues
- Missing images in OME-TIFF on Windows
v0.5.6
What's Changed
- headless mpc: start pulling QT out of MultiPointController and Worker by @ianohara in #305
- MultiPoint*: Remove all QT usage, and cleanup unused/duplicate/broken abstractions by @ianohara in #304
- update Xeryon stage settings by @Alpaca233 in #311
- bug fix: Run Spot Detection by @Alpaca233 in #310
- feat: use software crop in AbstractCamera by @Alpaca233 in #309
- fixes: this fixes some issues with Microscope after all the qt-less refactoring by @ianohara in #313
- ScanCoordinates: Remove qt usage by @ianohara in #314
- ScanCoordinates: Consolidate SiLA2 scan coordinates functionality into a subclass by @ianohara in #315
- tools: get a basic microscope_stress_test working (with an acquisition) by @ianohara in #316
- fix naming typo: CELESTA config by @Alpaca233 in #312
- cameras: Tucsen Aries series support (genicam) by @Alpaca233 in #307
- move microcontroller initialization code out of gui by @Alpaca233 in #321
- bug fix: illumination always turns on when software starts by @Alpaca233 in #323
- update configuration file by @Alpaca233 in #325
- Andor camera, laser engine, and Dragonfly support by @Alpaca233 in #320
- update README by @Alpaca233 in #322
- update README by @hongquanli in #326
- update README images by @Alpaca233 in #327
- contrast autofocus: pull QT out of the base contrast and remove qt from related tests by @ianohara in #331
- microcontroller: force int as a bandaid, warn on non int arg to pid by @ianohara in #318
- bug fix: Calibration Live Viewer cannot be opened from Sample Format dropdown by @Alpaca233 in #328
- bug fix: laser af using other spots in averaging by @Alpaca233 in #329
Full Changelog: v0.5.5...v0.5.6
v0.5.5
What's Changed
- utils: TimingManager and Timer helper by @ianohara in #249
- microscope mode selection: do it directly, and only use signals for ui updates by @ianohara in #241
- MultiPointWorker: Use callbacks for image processing so we can trigger faster by @ianohara in #242
- mpw: remove blocking queue on qt signal by @ianohara in #248
- MultiPointWorker: Use trigger-time and move-time positions throughout. Do not recapture. by @ianohara in #250
- formatting: fix after merge train by @ianohara in #257
- close cameras explicitly on exit by @Alpaca233 in #255
- bug fix: Prior stage config update; Daheng camera model support by @Alpaca233 in #259
- z position plot error handling by @Alpaca233 in #260
- bug fix: gui connections for selecting microscope mode by @Alpaca233 in #263
- add Tenengrad focus measure option by @Alpaca233 in #258
- show a dialog for confirmation on close by @Alpaca233 in #264
- home x first to make sure stage is clear for homing by @Alpaca233 in #265
- fix test error caused by dialog window on close by @Alpaca233 in #266
- updated Tucsen FL26-BW camera support by @Alpaca233 in #267
- ui clean up: move some stage buttons to menu bar by @Alpaca233 in #268
- add a button to show/hide well selector by @hongquanli in #269
- line profiler - keep manual range if manual range is specified by @hongquanli in #270
- Octopi bug fix by @Alpaca233 in #271
- use characterization mode when laser af is not enabled by @Alpaca233 in #273
- startup xy and objective switcher sequence update by @hongquanli in #274
- gui: Make sure laser af attribs are set to none by @ianohara in #275
- cameras: default: fix strobe and exposure by @ianohara in #276
- Update Microscope class by @Alpaca233 in #277
- main_hcs: remove commented out code by @ianohara in #278
- apply gaussian filter before spot detection by @Alpaca233 in #280
- Gaussian filter fix by @Alpaca233 in #281
- gui: use the primary screen for initial window size by @ianohara in #279
- cameras: toupcam: fix timing to respect camera "trigger delay" and fix hardware triggering by @ianohara in #282
- MultiPointWorker: protect against in flight triggering by @ianohara in #283
- multi process jobs: Add in a job and job runner mechanism for processing images on separate processes by @ianohara in #285
- utils: Timer: print in insertion order, include total time, and right align by @ianohara in #284
- bug fix: update exposure time whenever trigger mode is changed by @Alpaca233 in #290
- bug fix: default trigger mode by @Alpaca233 in #286
- ux improvement: minor changes for multipoint acquisition widgets by @Alpaca233 in #291
- crop laser AF image before auto initialize by @Alpaca233 in #287
- bug fix: wellplate calibration widget by @Alpaca233 in #294
- bug: toupcam: do not double up on cam exposure time by @ianohara in #296
- acquisitions: wait for frames when using non-hw triggering by @ianohara in #288
- headless: reverse relationship between gui <-> microscope so we can have a truly headless api by @ianohara in #289
Full Changelog: v0.5.4...v0.5.5
v0.5.4
What's Changed
- snap image bug fix by @hongquanli in #238
- Binning and cropping in AbstractCamera class by @Alpaca233 in #217
- bug: fix crop_width and crop_height usage (they no longer exist) by @ianohara in #239
- logging: add thread id to our log lines by @ianohara in #240
- update camera model config and restore open camera by model by @Alpaca233 in #243
- camera bug fix: temperature reading; Hamamatsu model config; Squid configuration file by @Alpaca233 in #244
- use AbstractCamera class for Tucsen camera by @Alpaca233 in #246
- Hamamatsu camera: binning and resolution updates by @Alpaca233 in #247
- use AbstractCamera class for Kinetix camera by @Alpaca233 in #251
- cameras: Hamamatsu tested; add get_available_pixel_formats() by @Alpaca233 in #252
- add support for multi-page tiff by @hongquanli in #253
- fix Kinetix ROI by @Alpaca233 in #254
- camera fix: Kinetix camera set exposure time and Hamamatsu camera get exposure time range by @Alpaca233 in #256
Full Changelog: v0.5.3...v0.5.4
v0.5.3
What's Changed
- core: SlidePositionControlWorker: fix homing by @ianohara in #150
- fix ldi simulation mode not working by @hongquanli in #156
- attempt to fix software trigger freeze issue (not tested on hardware … by @hongquanli in #148
- add option for padding filename index with zeros by @Alpaca233 in #149
- Fluidics widget by @Alpaca233 in #154
- modify the filter wheel parameter value by @veerwang in #155
- gui: acquisitions: prevent acquisitions from starting if there is not enough disk space by @ianohara in #157
- update LaserAutofocusSettingWidget by @Alpaca233 in #160
- move back to region center after acquisition (for "glass slide" format) by @Alpaca233 in #161
- Kinetix camera support by @Alpaca233 in #162
- add reset_input_buffer in AbstractCephlaMicroSerial class and SimSeri… by @Alpaca233 in #167
- fix LaserAutofocusSettingWidget spinbox error by @Alpaca233 in #169
- Fixed Microscope class and made changes to MultiPoint Controller/Worker for headless mode by @Alpaca233 in #140
- remove default objective lens from configuration files by @Alpaca233 in #159
- fix piezo issue: acquisition always start from offset position rather than from laser af reference plane by @Alpaca233 in #166
- Kinetix camera: implement gain mode by @Alpaca233 in #170
- bug fix: acquisition stopped working after the last change - revert the change by @hongquanli in #174
- piezo bug fix by @Alpaca233 in #176
- add configuration variables requested by Arc Institute by @Alpaca233 in #177
- squid: abc: Add the AbstractCamera interface, and a simulated camera implementation by @ianohara in #61
- cameras: start plumbing AbstractCamera throughout by @ianohara in #111
- AbstractCamera: Add Toupcam implementation by @ianohara in #131
- cameras: add the default gxipy camera implementation by @ianohara in #145
- cameras: Add the Hamamatsu camera implementation by @ianohara in #151
- StreamHandler: allow providing an accept fn, and use it for the live controller by @ianohara in #178
- widgets: camera control: fix pixel format by @ianohara in #179
- formatting: fix formatting after merging all the camera prs by @ianohara in #180
- rm: delete hama test scripts by @ianohara in #181
- fix 1536 well plate error by @Alpaca233 in #158
- Update XLight iris diaphragm control by @Alpaca233 in #171
- feat: display z map post acquisition by @hongquanli in #182
- ensure 1:1 xy scale for z plot post acquisition by @hongquanli in #183
- cameras: None frame error universal, add test and test script by @ianohara in #186
- camera: simulated: fix continuous streaming mode, exposure, other by @ianohara in #187
- laser af microcontroller use: attempt to handle occasional timeouts by @ianohara in #168
- core&gui: cleanup, delete unused, and fix prints by @ianohara in #188
- microscope: fix CameraPixelFormat args by @ianohara in #189
- feat: add template multipoint by @hongquanli in #184
- Headless mode improvement by @Alpaca233 in #185
- restore DEFAULT_TRIGGER_MODE by @Alpaca233 in #191
- use get_channel_configuration_by_name by @Alpaca233 in #192
- use bottom z for z-surface plotting when z stacks are acquired by @hongquanli in #194
- workflows: main.yml: Fix headless qt setup by @ianohara in #197
- tests: skip debug plot test because backend by @ianohara in #198
- remove previous labels on changing to new laser AF profile by @Alpaca233 in #201
- Fix illumination/emission iris for Cicero by @Alpaca233 in #193
- tests: sim cam: force no flip or rotate by @ianohara in #202
- microscope: fix focus camera init to only be with focus cam by @ianohara in #203
- tools: add stage timing test script by @ianohara in #204
- firmware: calculate and put checksum in return packets by @ianohara in #195
- microcontroller: ignored packets with bad checksums, scan input buffer by @ianohara in #196
- Microcontroller: Add a read-staleness watchdog (sortof) so we can see if new data is coming in by @ianohara in #199
- microscope: Eliminate 1 move in z backlash compensation by @ianohara in #190
- tools: stage timing: allow any axis, start and step, no home by @ianohara in #206
- microcontroller: use a cv for wait instead of sleep and poll by @ianohara in #205
- z movement: move backlash compensation into CephlaStage so it is universal by @ianohara in #207
- stage: cephla: change backlash comp from 30um to 5um for speed by @ianohara in #208
- microscope: fix incorrect _log attribute use and init order by @ianohara in #210
- Focus map improvement by @Alpaca233 in #175
- fix SpotDetectionMode value error by @Alpaca233 in #212
- export and import focus points by @Alpaca233 in #213
- feat: add output power linearization for Squid LED/Laser (PM16 from Thorlabs needed) by @hongquanli in #214
- bug fix for PR #175, #214 and a few other improvements by @Alpaca233 in #218
- save coordinates for all objectives by @Alpaca233 in #222
- revert the change in LaserAFConfig base model by @Alpaca233 in #221
- keep manual ROI after clearing mosaic view by @Alpaca233 in #220
- fix emergency stop for fluidics widget by @Alpaca233 in #219
- core: MultiPointWorker: separate into its own file by @ianohara in #223
- MultiPointWorker: Delete unused code paths by @ianohara in #224
- cameras: toupcam: allow ignoring default black level by @ianohara in #225
- MultiPointController: Add type annotations, cleanup names where risk-free by @ianohara in #226
- MultiPointController: remove a few risk free unused bits by @ianohara in #227
- illumination control bug fix: setting current channel by @Alpaca233 in #229
- add status bar to live display to show cursor pixel value and stage position by @hongquanli in #230
- add the ability to snap multi channel images of the current FOV by @hongquanli in #231
- show napari status bar for displaying pixel value by @hongquanli in #232
- add line profiler by @hongquanli in #233
- pixel value display int instead of float, no display when cursor off image by @hongquanli in #234
- simulation bug fix (CrestOptics and LDI) by @hongquanli in #235
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
- major update: add channel configuration file management by @Alpaca233 in #100
- PR#100 merge bug fix by @hongquanli in #115
- add objective mag in napari layer name by @hongquanli in #118
- starting to remove display resolution scaling by @hongquanli in #119
- update laser autofocus implementation for loading settings for different objectives by @Alpaca233 in #117
- run black on the repo by @hongquanli in #120
- feat: Add save/load scan coordinates to CSV in the GUI by @hongquanli in #116
- new Piezo class related bug fix by @hongquanli in #121
- fix missing import / passing wrong object by @hongquanli in #122
- bug fix - wrong function was called for piezo.position() by @hongquanli in #123
- fix: handle piezo presence/absence by @ianohara in #124
- fix: daemonize process queue threads so we get clean close even if signals are missed. by @ianohara in #125
- feat: enforce laser autofocus reference requirement by @hongquanli in #127
- Improve Laser-Based Focus display to show results of running laser autofocus by @Alpaca233 in #126
- run black by @hongquanli in #128
- fix(logging): Make sure our file handler uses unicode and continues through errors by @ianohara in #130
- laser af improvement (remove background for initial spot localization) by @hongquanli in #133
- laser autofocus bug fix (widget and display related) by @Alpaca233 in #129
- laser autofocus UX improvement by @Alpaca233 in #134
- Save / load laser af reference image as part of cached laser af profile by @Alpaca233 in #132
- fluidics integration by @hongquanli in #114
- fix(tests): microscope init test fix, other argument change fixes by @ianohara in #136
- Ian/you yan celesta logging fix by @hongquanli in #138
- fix for acquisitions without laser af by @Alpaca233 in #139
- bug fix: channel colormap and configuration manager connections by @Alpaca233 in #135
- bug fix: multipoint controller and well selector by @Alpaca233 in #141
- stage + gui: set limits, and fix limit direction bug by @ianohara in #142
- gui: drive y+20, x+20 before homing x+y to make sure we are clear by @ianohara in #144
- update default channel config by @Alpaca233 in #146
- bug fix: focus map for glass slide by @Alpaca233 in #147
Full Changelog: v0.5.1...v0.5.2
release before adding channel config files management (for different objectives)
Pre-release
What's Changed
- feat: improve laser autofocus with robust spot detection and error handling by @hongquanli in #101
- feat: improve piezo stage control by @hongquanli in #106
- pull from master by @hongquanli in #107
- bug fix by @hongquanli in #108
- bug fix for updated laser autofocus by @hongquanli in #109
- fix: for both config editors, catch and alert on file permission errors by @ianohara in #105
- fixes(tests): move tests to existing location, fix (or ignore) broken tests by @ianohara in #110
- laser af init bug fix by @hongquanli in #113
Full Changelog: v0.5...v0.5.1
v0.5 - release before updating laser af
What's Changed
- logging: add logging mechanism, hooks to log uncaught crashes, and an example use of the logging tools by @ianohara in #1
- software/main_: Delete unused imports, convert the main and gui to use loggers. by @ianohara in #4
- control/microcontroller: convert to using Logger and remove some unused/commented code by @ianohara in #5
- logging: add a helper for registering a rotating file log that captures all output regardless of stdout log level by @ianohara in #6
- control/camera_toupcam: use loggers by @ianohara in #7
- logging: add missing close quote in logging message by @ianohara in #8
- gitignore: add .idea/ directories. by @ianohara in #9
- Merge hongquanli/octopi-research/master and fix conflicts by @ianohara in #16
- microcontroller: fix reset cmd_id bug by @ianohara in #10
- microcontroller: combine the move commands via a helper by @ianohara in #11
- microcontroller: for simulation, use a stub serial device instead of copy/pasted implementation by @ianohara in #12
- microcontroller: add the notion of aborted commands, and throw TimeoutError on failed waits by @ianohara in #13
- gui_hcs: if the microcontroller times out during initialization, reset it before failing by @ianohara in #14
- firmware: fix bug where hardware trigger interrupt was able to access partially written data by @ianohara in #15
- Merge octopi-research/master (click to move update and sample format bug fix) by @hongquanli in #17
- sample format bug fix (glass slide) by @hongquanli in #18
- restore x,y,z position update in simulated microcontroller by @hongquanli in #21
- click-to-move in navigationViewer by @sohamazing in #19
- click-to-move navigation viewer offset by @sohamazing in #23
- manually merge commits from Soham (mostly sample format related bug fix) by @hongquanli in #25
- setup and cleanup: fix setup scripts for new repo, delete outdate and move tools. Add action for install + tests. by @ianohara in #31
- microscope: fix simulated mode in microscope by @ianohara in #32
- Flexible scan grid by @sohamazing in #27
- Hamamatsu hardware trigger bug fix by @Alpaca233 in #26
- add support for celesta by @hongquanli in #41
- microcontroller: remove is_simulated at Microcontroller level, and instead implement simulated firmware at Serial level by @ianohara in #33
- tracking: remove unused and incomplete tracking implementations. Those in core.py and widgets.py stay. by @ianohara in #43
- update live scan grid: delay live scan grid generation when xy-stage moving, init live scan grid to 1mm by @sohamazing in #36
- signal cleanup: remove redundant signals, streamline acquisition signal and slot logic by @sohamazing in #37
- bug fix: edits to manual region shape should not update scan coordinates while on flexible widget by @sohamazing in #38
- cleanup: remove tileddisplaywidget and multipointwidget and cleanup spaces by @sohamazing in #39
- Pr filterspin by @veerwang in #46
- pulled out region_coordinates from MultiPointWidgets into ScanCoordinates by @sohamazing in #47
- interface: start pulling out the stage concept by @ianohara in #34
- stage: integrate into the system (replace NavigationController) by @ianohara in #48
- IlluminationController class initial commit by @Alpaca233 in #42
- interface: start pulling out illumination control by @hongquanli in #54
- add support for celesta by @hongquanli in #40
- add manual focus map function by @hongquanli in #56
- add manual focus map by @hongquanli in #57
- focus-map: (manual focus point grid) - specify z level at points, fit to 3d surface, interpolate for acquisition scan fovs by @sohamazing in #50
- fix bug comes from merging code by @veerwang in #55
- fix: celesta should be off by default by @ianohara in #58
- fix: send pos from movement updater, and start movement updater by @ianohara in #59
- formatting: format entire repo with black by @ianohara in #49
- fix: scan coordinate preview by @hongquanli in #62
- improvement: prevent constant update of scan coordinate preview by @hongquanli in #63
- Prior stage with abstract stage class by @Alpaca233 in #65
- fix a bug of axis move direct by @veerwang in #66
- Prior stage bug fix by @Alpaca233 in #67
- fix(microcontroller): microcontroller test rel moves are correct now by @ianohara in #70
- Focus map refactoring by @Alpaca233 in #69
- fix(core): remove duplicate initializations by @ianohara in #72
- fix(lint action): Fail linting action if formatting would have happened by @ianohara in #73
- fix(formatting): Run black on whole repo again to get to clean lint state by @ianohara in #74
- debug(laser af): only catch Exception, print exec_info, indicate failure for caller in autofocus method by @ianohara in #75
- fix(acquisition abort): Aborting acquisitions midway left the ui in an invalid state by @ianohara in #76
- fix(MultiPointWorker): logging in update_use_piezo had a missing format in string by @ianohara in #77
- acquisitions: catch TimeoutErrors in acquisitions, and abort acquisition cleanly by @ianohara in #81
- utils: add a directory creation helper, and use it instad of os.mkdirs by @ianohara in #82
- feature: add Jupyter console by @hongquanli in #71
- 2 position objective changer by @Alpaca233 in #83
- New scan shape: Rectangle by @Alpaca233 in #85
- add auto offset adjustment for objective switching by @hongquanli in #87
- Fix LDI laser engine errors caused by IlluminationController by @Alpaca233 in #86
- fix(stage): pass in PriorStage config when using Prior by @ianohara in #88
- stage: prior: add a position polling timer by @ianohara in #91
- manual roi: fix incorrect index by @ianohara in #92
- prior: use a thread instead of timers by @ianohara in #93
- manual regions: add corner check for inclusion criteria by @ianohara in #95
- feat(microcontroller): Add a mechanism for automatic serial reconnect, and use it by @ianohara in #78
- make the downsampling in mosaic view scale with objectice mag by @hongquanli in #94
- acquistions: when we abort, do not let another start until previous is finished by @ianohara in #96
- fix: move lighting tools to their own module to avoid circular import by @ianohara in #89
- objective switcher init bug fix by @hongquanli in #99
- manual focus map improvements by @Alpaca233 in #98
- fix: napari init attrib bug, and add unit tests by @ianohara in #102
- logging&utils: add helper for getting squid repo state, log state on startup by @ianohara in #103
- simulated micro: fix to be thread safe by @ianohara in #104
New Contributors
- @sohamazing made their first contribution in #19
- @Alpaca233 made their first contribution in #26
- @veerwang made their first contribution in https://github.com/Cephla-Lab...