0.4.1
馃殌 Features
Change raw rescaling to happen on frontend + export original raw unscaled @ykevu (#383)
PR Addressing #373, #379, #381
- Non-png raw inputs are no longer rescaled at all on the backend in loaders.py (.png files are still rescaled to uint8)
- Instead, the frontend performs the rescaling on the raw array, and creates a second array "rawOriginal" which is passed to the arrayMachine.
- This is a "TypedArray" which can support Uint8, Int8, Uint16, Int16, Uint32, Int32, Float32, and Float64. This will require further testing (by @steveyu323?) for a variety of dtypes since I only had access to uint8 and float64 files
- On export, rawOriginal is zipped instead of the rescaled raw array, so download or submission will give the user the original raw unscaled tiff.
Testing
- So far, I have tested uploading a file from Changhua that is float64, and the rendering on the site was fine. Upon downloading, the X.ome.tiff file inside retained float64 and the unscaled values. After reuploading this downloaded file to DCL, it looked fine as well. Functionality of all the editing and such still worked throughout all of this.
Potential Issues / Enhancements
- The loading times do not seem to have suffered very significantly, but will look into using gpu.js to speed up the reshaping operation (which currently has 4 nested for loops).
Small changes
- REPLACE tool was renamed to COMBINE on its button, tooltip, and instructions. The hotkey and code referencing the tool is unchanged.
馃悰 Bug Fixes
BUG: fix bug when no cells on canvas. @ykevu (#397)
What
- Fixes a bug where an error is thrown when trying to load in an image/frame with 0 cells, as a relevant function assumed a non-empty list of cells.
Fix GPU rendering bugs, cell 0 bugs, and bug in saving raw array @ykevu (#384)
PR Addressing #380, #382, and more
- Fixed GPU rendering bugs for the COMBINE and FLOOD tools (#380).
- These tools also rendered outlines when used and ran into the same issues as those fixed in #376, so similar fixes were applied.
- Fixed bugs related to "Cell 0" edits (#382).
- If no cell was selected, it was possible to create cells with label 0 on the canvas. Possible from:
- Hitting
escwhile using the BRUSH tool. Fixed by switching to SELECT whenescis hit. - Hitting
escto select nothing and then switching to the THRESHOLD tool. Fixed by selecting a new cell when hitting the THRESHOLD tool if current cell is 0. - Hitting
escto select nothing and then pressing the autofit tool. Fixed by not using the autofit tool if current cell is 0.
- Hitting
- If no cell was selected, it was possible to create cells with label 0 on the canvas. Possible from:
- Fixed bug in how raw array was saved in the reshaping.
- Threshold and watershed tools were broken because these tools pass the raw array to the backend. Originally the unscaled raw array was simply being scaled and the scaling function was called with "as Uint8Array[][][]" but this doesn't work due to how the array buffers work, so a new array is made when the reshaping is done to fix this.
Fix bugs breaking brush tool and unintended undo behavior @ykevu (#378)
Significant Changes (Fix #377)
- Fix bug where brush tool broke when switching to another tab and back.
- EditMachine.js now sends ENTER_TAB to EditSegmentMachine.js when the SEGMENT tab is selected. EditSegmentMachine will
accordingly send SET_PAN_ON_DRAG depending on the state it is in so as not to potentially break the state.
- EditMachine.js now sends ENTER_TAB to EditSegmentMachine.js when the SEGMENT tab is selected. EditSegmentMachine will
- Fix bug where undoing from a pan tool to a non-pan tool (brush) would break the brush.
- panOnDrag state is now stored in the undo history for CanvasMachine.js, and upon restoring, a CHECK_DRAG event is sent to restore the appropriate state.
Small changes
- Fix bug where using CTRL+Z to undo would always switch to the DISPLAY tab.
- An event listener was listening for Z presses to switch to DISPLAY tab, so Z was removed from this and a mousetrap binding was instead created to not trigger on combination hotkeys
- Drop uploading now actually uses the user-selected axes
- .zip added to list of acceptable file formats (application/zip was not working on my Windows machine)
- Added hotkey tooltip on select (V)
Fix canvas rendering bugs caused by issues with gpu rendering kernel @ykevu (#376)
What
Fixes canvas rendering bugs, namely #366 and #367, which were both caused by issues in the gpu rendering kernel. Specifically, a check is now called to ensure that a value is contained within the bounds of expected values before trying to render the label associated with that value (out of bounds indexing was resulting not in errors but the cells reappearing upon deletion). Additionally, the max number of cells displayed has been increased to 5000.
These changes were tested by Changhua and me and appear to be working properly.
Why
Users can now render up to 5000 cells at once on a canvas and will not experience bugs when deleting the highest valued cells in a given frame.
Fix bug causing segmentations to be lost upon reload @ykevu (#372)
What
My guess is that after Tom fixed the bug related to adding c to cells, the "feature" field was renamed to "c", so the idbWebWorker was unable to find what segmentation feature was being edited, and segmentations were thus not being tracked.
Why
Users can now reload without losing their segmentation changes (eg. brush adds/removes).
Fix bugs related to cells not properly deleting @ykevu (#368)
What
Addressed the bug from Issue #365, in which after deleting a cell, one cannot write over the deleted cell's area when using exclusion mode.
Additionally, added some snippets of code required for the tests and source code to run on Windows.
Fix
The bug arose because the deleted cell was only removed from the cells matrix but its label persisted in the labels matrix. Added a new function to the Edit class called clean_labels() which deletes any labels that do not correspond to existing cells that is called every time an action is performed that adds masks (eg. brush, flood, etc.). Additionally, a more esoteric bug was found involving overlapped cells reappearing after deletion, which should be addressed by this change as well.
Why
Users can now properly edit areas previously occupied by deleted cells, rendering the delete tool usable in exclusion mode.
馃О Maintenance
Bump json5 from 1.0.1 to 1.0.2 in /frontend @dependabot (#391)
Bumps json5 from 1.0.1 to 1.0.2.
Changelog
Sourced from json5's changelog.
Unreleased [code, diff]
v2.2.3 [code, diff]
- Fix: json5@2.2.3 is now the 'latest' release according to npm instead of v1.0.2. (#299)
v2.2.2 [code, diff]
- Fix: Properties with the name
__proto__are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).v2.2.1 [code, diff]
- Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)
v2.2.0 [code, diff]
- New: Accurate and documented TypeScript declarations are now included. There is no need to install
@types/json5. (#236, #244)v2.1.3 [code, diff]
v2.1.2 [code, diff]
... (truncated)
Commits
a62db1e1.0.2e0c23fedocs: update CHANGELOG for v1.0.262a6540fix: add proto to objects and arrays- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bump decode-uri-component from 0.2.0 to 0.2.2 in /frontend @dependabot (#390)
Bumps decode-uri-component from 0.2.0 to 0.2.2.
Release notes
Sourced from decode-uri-component's releases.
v0.2.2
- Prevent overwriting previously decoded tokens 980e0bf
SamVerschueren/decode-uri-component@v0.2.1...v0.2.2
v0.2.1
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bump loader-utils from 1.4.0 to 1.4.2 in /frontend @dependabot (#389)
Bumps loader-utils from 1.4.0 to 1.4.2.
Release notes
Sourced from loader-utils's releases.
v1.4.2
1.4.2 (2022-11-11)
Bug Fixes
v1.4.1
1.4.1 (2022-11-07)
Bug Fixes
Changelog
Sourced from loader-utils's changelog.
1.4.2 (2022-11-11)
Bug Fixes
1.4.1 (2022-11-07)
Bug Fixes
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bump moment-timezone from 0.5.34 to 0.5.37 in /frontend @dependabot (#374)
Bumps moment-timezone from 0.5.34 to 0.5.37.
Changelog
Sourced from moment-timezone's changelog.
0.5.372022.08-25
- Re-publish npm package, because of extra folder present in 0.5.36, check moment/moment-timezone#999
0.5.362022.08-25
- IANA TZDB 2022c
- improvements/fixes to data pipeline
0.5.352022-08-23
- Fix command injection in data pipeline GHSA-56x4-j7p9-fcf9
- Fix cleartext transmission of sensitive information GHSA-v78c-4p63-2j6c
Thanks to the OpenSSF Alpha-Omega project for reporting these!
Commits
ffe6f34Add changelog for 0.5.37450ca63Bump version to 0.5.3795f1a9bBuild moment-timezone 0.5.36abba28cAdd changelog for 0.5.36ac6de03Bump version to 0.5.367a5cadftests: Fix country tests for 2022c6754c75data: generate 2022c data+testsf74a364bugfix: Wipe tests/zones before generatione850f9fgrunt: do not bundle zone and contry testsf13e22bdata: automatically create data/*/VERSION.json for latest- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Bump terser from 5.11.0 to 5.14.2 in /frontend @dependabot (#361)
Bumps terser from 5.11.0 to 5.14.2.
Changelog
Sourced from terser's changelog.
v5.14.2
- Security fix for RegExps that should not be evaluated (regexp DDOS)
- Source maps improvements (#1211)
- Performance improvements in long property access evaluation (#1213)
v5.14.1
- keep_numbers option added to TypeScript defs (#1208)
- Fixed parsing of nested template strings (#1204)
v5.14.0
- Switched to
@鈥媕ridgewell/source-mapfor sourcemap generation (#1190, #1181)- Fixed source maps with non-terminated segments (#1106)
- Enabled typescript types to be imported from the package (#1194)
- Extra DOM props have been added (#1191)
- Delete the AST while generating code, as a means to save RAM
v5.13.1
- Removed self-assignments (
varname=varname) (closes #1081)- Separated inlining code (for inlining things into references, or removing IIFEs)
- Allow multiple identifiers with the same name in
vardestructuring (egvar { a, a } = x) (#1176)v5.13.0
- All calls to eval() were removed (#1171, #1184)
source-mapwas updated to 0.8.0-beta.0 (#1164)- NavigatorUAData was added to domprops to avoid property mangling (#1166)
v5.12.1
- Fixed an issue with function definitions inside blocks (#1155)
- Fixed parens of
newin some situations (closes #1159)v5.12.0
TERSER_DEBUG_DIRenvironment variable@鈥媍opyrightcomments are now preserved with the comments="some" option (#1153)
Commits
- See full diff in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the Security Alerts page.
Update URL to flake8 to fix precommit job. @rossbar (#398)
In principle this could use a bigger makeover; specifically reviewing the versions of all the hooks. In practice most of them should be replaced with ruff.
General maintenance to try to get the CI back into a fully operational state.
Move code of conduct and contributing to top level @tddough98 (#360)
The GitHub Community Standards tab doesn't recognize these files if they are not at the top level. This moves them out of the documentation folder.
Run tests when pushing to main @tddough98 (#359)
When merging into main for the 0.4 release, the tests didn't run. This gets the tests GitHub Action to run when pushing to main. Coverage for coveralls is based on tests on main, so this will keep the coverage badge up to date.