Skip to content

Releases: Cephla-Lab/Squid

v0.5.8

28 Dec 10:40
67dfbf5

Choose a tag to compare

v0.5.8 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v0.5.7...v0.5.8

v0.5.7

17 Nov 05:59
28d00b8

Choose a tag to compare

v0.5.7 Pre-release
Pre-release

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

21 Sep 04:23
c4b34d8

Choose a tag to compare

v0.5.6 Pre-release
Pre-release

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

03 Aug 20:09
ca8a158

Choose a tag to compare

v0.5.5 Pre-release
Pre-release

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

31 May 21:48
77f6227

Choose a tag to compare

v0.5.4 Pre-release
Pre-release

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

19 May 04:24
df3b99d

Choose a tag to compare

v0.5.3 Pre-release
Pre-release

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

17 Mar 18:14
07fdc7b

Choose a tag to compare

v0.5.2 Pre-release
Pre-release

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)

23 Feb 05:57
935b7f9

Choose a tag to compare

What's Changed

Full Changelog: v0.5...v0.5.1

v0.5 - release before updating laser af

15 Feb 04:58
27a9370

Choose a tag to compare

Pre-release

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

Read more