* fix bugs for the RT for the new demo
* fix SM with the static-wado server
* remove thumbnail from tmtv
* migration guide
* fix stability for the rt struct
* apply review comments
* add loading indicator to SM
* pdf works
* try to fix relative bulkData
* fix the rest
* fix preflight for the SM
* fix typo
* apply review comments
* yarn lock
* fix(local): should use dicomlocal for localbasic
* chore(github): styling for issues forms
* try to fix netlify
* apply review comments
* apply review comments
* feat(custom displayOptions): add custom options to every level of hanging protocols
* move set preset down to cornerstone3d
* works
* fix tmtv based on new api
* fix unit test
* close
* review1
* upgrade packages
* update packages
* apply review comments
* recursive call
* less copy
* apply review comments
* fix e2e tests
* apply review comments
* revert
* apply review comments
* apply review comments
---------
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
* fix(dicomlocal): navigate /local to the work list and /localbasic to the (basic) viewer
For TMTV, consider both the forward and back slash separator for modalities.
* Fix to TMTV isValidMode method.
* PR feedback:
- replace forward slashes with back slashes for modalities in the WorkList instead of in the Mode.
* Added query.series to DicomLocalDataSource.
* fix: KO series being displayed in browser list
* fix sr for volume viewports
* move highlight labelmap to RAF
* remove commented code
* fix the hydration bug for the SR
* apply review comments
* revert the key images for sr
* Remove some obsolete changes
* set initial image for sr instead of jump
* Remove viewportType stack
---------
Co-authored-by: Alireza <ar.sedghi@gmail.com>
* fix: multiframe
* fix the unnecessary use of prior since some servers dont like it
* add authentication via token in url
* add data citation
* add resources
* upgrade packages
* yarn lock
* apply review comments
* fix(DICOM PDF and Video)
- added retrieve.directURL for local DICOM load data source; it returns a data URL
- fixed various checks for video using transfer syntaxes and SOP class UID with number of frames
- added call to 'rendered' endpoint for those data sources that support it; others get BulkDataURI
* Added DOC (PDF) and OT (for video in particular) to list of non-image thumbnail modalities.
* Fixed broken e2e tests.
* fix: Jump to measurement after presentation store
* Fix initial load of DICOM SR
* Fix measurement highlight issues
* Clear measurements changed to array
* Fix merge issues
* PR comments
* Removed unused formatting. Change to single event
* Fix the unit test
* PR review comments
* refactor(viewport): simplify imports, align destructuring
Simplify import statements by removing unused imports, organize existing imports, and align destructured imports consistently across the component.
---------
* feat(DICOM Upload)
OHIF #3297
- DicomWebDataSource.store.dicom now accepts an ArrayBuffer of data sets to store
- DicomWebDataSource.store.dicom now also accepts optional callbacks to track upload and an AbortSignal object to cancel upload
- Added DicomFileUploader class that performs and tracks the upload of a DICOM file
- Added various UI pieces for the upload: DicomUpload, DicomUploadProgress, DicomUploadProgressItem
- ProgressLoadingBar was extracted from LoadingIndicatorProgress so it can be reused
- Modal dialogues can now optionally prevent an outside click from closing the Modal
* Passing an XMLHttpRequest to the dataSource.store.dicom method instead of callbacks and AbortSignal.
Cleanup of various UI pieces to minimize code and increase readability.
* Made the DicomUpload component a customization module exported by the cornerstone extension.
* Exposed a copy of the data source configuration via the IWebApiDataSource interface.
Added dicomUploadEnabled to a data source's configuration.
* Code clean up.
* Upgraded the dicomweb-client version to one that provides the ability to
pass a custom HTTP request. DICOM upload uses that custom HTTP request
to track progress and cancel requests.
* Distinguished between failed and cancelled uploads.
* Allow no selection in the upload dialogue.
Fixed the styling of various progress information so that everything aligns.
* Switched from cornerstone wado image loader to cornerstone dicom image loader for DICOM upload.
* Added special cancelled icon to differentiate from failed.
* Added a bit of spacing between the upload progress bar and percentage.
* Fixed minor issue with upload rejection.
* Performance improvement for cancel all uploads:
- use React memo for each upload item progress (row)
- do not await each request of a cancel all
* Fixed various padding/spacing for the DICOM upload drop zone component.
Changed the border dashing for the DICOM upload drop zone to be a background image gradient.
Added hover and active effects to the 'Cancel All Uploads' text.
* fix(Browser history):
- fixed an NPE when navigating to a different study via the URL
- exposed browser history navigation via a command
* Added documentation for the navigateHistory command.
Moved the history object from UI to viewer.
* feat: Allow navigating to a specified series and sop instance
This was a feature in OHIF v2, so adding it to v3, albeit with new
parameters.
feat: Allow comma separated as well as repeated args params
* docs
* Test fixes
* feat: Navigate to SOP selected - PR fixes
* Updated docs
* PR fixes
* fix: Some residual issues with hanging protocol after state sync
fix: Some issues introduced by the state syncing changes
* fix: PR fixes, mostly code cleanup
* Improve a race condition in an automated test
* Remove obsolete code
* PR fixes
* feat: Add state sync and use it to remember viewport grid info
fix: Version updates
Fixes for toggling MPR mode
Fix the display when the interleaved load module fails
Fix the memory of the state to restore correctly
PR fixes for the state sync service
PR fixes
PR fixes
PR fixes
Added a hack warning to remove volumeDeactivate
Fixes for TMTV colormap setting
Fix the casing
Missed renames
fix: tests not running due to variance in ordering
Reverting some fixes to change case
PR changes - mostly comments and minor improvements
fix: All display sets were being updated on drag and drop
PR fixes - mostly renames
PR fixes
Test support for OHIF, for HP branch
test: Add at least a minimal set of automated tests for hanging protocols
Docs
PR fixes
Merge fixes
DOCS updates
Add an example of the mn hanging protocol
PR fixes
PR fixes
PR fixes
* Fix the drag and drop
PR fixes
* PR changes - update default keys for next/previous stage
* fix: Was storing the custom viewport grid too aggressively
Caused by a PR change misspelling a variable
* feat(SidePanel)
OHIF issue #3135
- Added a method to set a callback for a Panel to invoke when it is ready
to be shown (e.g. its data is loaded).
- Implemented such methods for both the segmentation and measurement panels.
- The SidePanel component now adds a callback to Panel components so that
it will automatically open a Panel that was initially closed and yet to
be opened.
- Updated the OHIF documentation accordingly.
* PR feedback
- added a PanelService that centralized much of the logic that existed in panel PanelModule
- the SidePanel subscribes to PanelService.EVENTS.ACTIVATE_PANEL for each of its child panels
* Removed the PanelMeasurementTableTracking setMeasurementPanelContentReadyCallback method.
* Made the forceActive flag in the PanelService optional and defaulted it to false.
* Fixed failing top level exports unit test.
* - PanelService subscriptions are now per panel (id) so subscribers do not
necessarily need to check the panel id in the event when it is fired
- PanelService activate panel trigger subscriptions are now returned
so that they can be (better) managed outside of the service
- updated/created the various documentation for panels and PanelService
* Clarified various documentation.
Moved the code to add the activate panel triggers out of the extensions
and into the longitudinal mode.
* Removed the openWhenPanelActivated flag.
PanelService now conforms to extending PubSubService like the other services.
Updated various documentation.
* Fixed failing e2e, mpr test.
* Renamed the ActivatePanelTriggers type properties.
The ExtensionManager now sets the id of various modules as a property on each of those modules.
* tests: add various e2e tests for MPR and measurements
wip
add cypress config
feat: add mode and extension for testing
add hp applied through search params
add MPR tests
apply review comments
add more e2e tests
update yarn lock
* fix unit tests failing
* fix(ViewportGrid): In ViewportGrid, fill blank viewports with display sets not yet in grid.
ViewportGridService now allows off-screen viewports to remain so that
so as to maintain continuity if they were filled by the UI/user.
* PR feedback: moved getNumViewportPanes into the ViewportGridService API.
* PR feedback:
- renamed some variables
- proper import/export of IDisplaySet
- added some comments for clarification
- fixed broken e2e tests
* Some missed rename of Services.
* fix(misc):Update the data source name, provide a /datasources
Update the imports for a few things to match, to avoid 2 versions
Fix the datasources name
pr:Make the data source selector configurable
* Updated data source selector page as requested
* PR fixes
* fix: app-config settings are ignored in OHIF v3
github issue #3051
Remove default route from baked in routes if showStudyList is false.
* fix: app-config settings are ignored in OHIF v3
github issue #3051
PR feedback - simply remove default route from the baked in routes.
* fix: app-config settings are ignored in OHIF v3
github issue #3051
PR feedback - updated CS3D tools version
* fix(grid):Grid service wasn't being reset
* fix(service):Fix the initial service state
Services with mode specific state differed in internal state between
initial and subsequent load. This fix address that structurally by
allows the mode to store/manage service state, but makes the
responsibility of service state central to the service.
I followed suit with how it was implemented in the v2 branch, on the 404
page I just hit the link back to the study list if we're not configured
to display it. See PR #2131
* feat(customization):Add a customization service
Update UICustomizationService to v3-stable.
Also, adds an example customization for tab colors
* moved the customization service to ui category
* feat: add initial sop class handler for SEG
* feat: move segmentation service
* update segmentation service methods
* fix: viewport data structure
* feat: Add initial render for the DICOM SEG for each displaySet
* fix: various wrong architectural dependencies between services
* feat: initial separate SEG display in each viewport
* feat: refactore viewport action bar
* initial work for SEG hydration
* fix: various bugs regarding drag and dropping different viewports
* fix: rendering issues for multiple seg displaysets
* fix: bugs for thumbnail and hydration
* feat: fix the initial segment color
* update after rebase
* feat: initial design for the segmentation group table
* feat: initial new design for the segmentation panel
* feat: segmentation panel
* feat: make segmentation appear on all related viewports
* fix: segmentation load bug based on functional groups
* initial work for segmentation crosshairs
* fix: various stylings and functionality
* fix: various stylings for the seg panel
* fix: overflow styles
* feat: add more ui components
* feat: added segmentation config
* feat: add jump to segment
* feat: add jump to segment for DICOM SEG viewport
* fix: bugs after rebase
* feat: jump in segmentation viewport
* fix: mpr support for seg
* feat: add more icons
* feat: new icons
* feat: add new side panel
* feat: add segmentation config
* feat: add loading indicator to ohif
* feat: make hanging protocols follow matching rules for viewports
* feat: enhance drag and drop to be hanging protocol aware
* fix: mpr restore previous layout
* fix: crosshairs toggle
* fix: add auth headers to the dicom loader via dicomwebclient
* fix: bug for crosshairs toggle in mpr
* fix: seg viewport reusing old toolGroup
* feat: add loading animation with lottie
* fix: various bugs for Segmentation hydration in mpr
* feat: change outline alpha to outline opacity
* feat: loading indicator for seg viewport
* fix: various segmentation group styles
* fix: local mode for seg
* feat: add animation for the highlight
* fix: loading indicatro to show segment indices
* feat: enhance modality drop down ui
* fix: panels
* fix: download form
* fix: layout shift in loading indicator
* fix: loading indicator to have correct values
* fix: update software number
* fix: image jump between MPR and default
* fix: segmentation cleanup and cine service cleanup
* fix: segmentation toolgroup clena up
* fix: highlight interval should not trigger again
* fix: issue with multiframe sorting
* rename: change onSeriesChange to onArrowsClick
* fix: buttons for tmtv and layout shift
* fix: various bugs wrt crosshairs
* fix: crosshairs re init on reset camera
* fix: middle slice calculation different from cs middle reset camera
* fix: reset camera should reset viewport camera
* fix: loading segments in MPR mode
* fix: tmtv hp back to before
* fix: layout shift
* feat: orientation markers for volume viewport
* fix: capture for volume viewports
* fix: memory leak for back to worklist
* fix: loading bar bg color
* fix: side panel for only one panel
* fix: react select style in production
* fix: various styling for segmentation groups
* fix: various ui styles
* feat: add new segmentation config styles
* fix: hover state for segmentation item
* fix: side panel layout shift
* temp add panels
* try to fix scrollbar for thimbnail
* fix: scroll not appearing for side panels
* feat: changed styles for scrollbar
* feat: add cpu fallback warning
* fix: webworker destroy
* fix: select styles
* fix: orientation marker color and position
* fix: capture screenshot for volume viewports
* fix: hide segment visibility on mpr
* fix: reloading an already loaded seg displayset
* feat: add is equal
* fix: mpr jump to measurements
* apply review comments
* fix: optimization for the segmentation load
* fix: remove unnecessary context menu and hp service reset
* fix: segmentation service wrt brush settings
* feat: initial work for the stack synchronization
* fix: add validateDisplaySetSelectorsForNewDisplaySets to make sure drag and drop can follow requirements
* fix: various react proptypes
* fix: thumbnails for the tmtv and change default props to default params
* feat: make showing loading indicator configurable and add docs
* bump versions and add more docs
* fix demo
* update cornerstone versions
* apply review comments
* feat: add reference lines
* fix build
* fix unit tests
* add reference lines icon
* fix: e2e tests
* fix static wado config
* docs: add segmentation service docs
* fix: docker build
* fix: keep camera and bump versions
* Try re-enabling minification to fix deploy previews
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
* WIP
* WIP
* WIP
* fixed Bill comments on PR - https://github.com/OHIF/Viewers/pull/2979
* added series number to series filter and removed extra console.log
* changed the filter of seriesFilterKeys to studyFilterKeys
* changed the seriesInstaceUID to SeriesInstanceUID to make coerence with StudyInstanceUID
* reverted change on extension retrieveMetadataLoaderAsync and make the right change on Mode.tsx
* fixed PR comments and add small information about the filters
Co-authored-by: Thomas Forster <thomasforster@MacBookPro-Thomas.local>
* add oidc logout route, button in menu
* removed old comments
* use local storage to trigger signout in other tabs
* refactored to make use useEffect
* cleaned up comments
* fix remove event listener
* moved remove leftover storage variable to beginning of usemount
Co-authored-by: Michael Andersen <Michael.Andersen@rmp.uhn.ca>
There had been a change made to make the hanging protocols
auto initialize, but that caused problems on mode init
because the couldn't specify the hanging protocols any longer.
THis change restores that, and also improves the API a little
bit by allowing the display set selectors to be specified by id
instead of positionally.
fix(hp):PR Review Comments
fix(hp):Unit test and docs
* feat: add more types to HP service
* change hp to have apply protocol
* feat: mpr initial work
* apply protocol by id
* feat: mode should be able to apply protocol directly
* fix: wrong inheritance for viewports drag and drop
* apply review comments
* initial upgrade commit for tailwind
* fix: inconsistensies in button
* fix: various places with conflicts
* final fixes
* fix: dialog header color
* apply review