* 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(DicomTagBrowser): Fix parsing problems that was limiting nested tags rendering
* Added a progress indicator when switching to a list of more than 1000 rows.
* Switched to using react-window to virtualize the dicom tag browser window.
* Added filtering to the DICOM tag browser with a new search UI widget.
Lots of tweaks and updates to the look-and-feel.
* Removed unused import.
* PR feedback including some UI tweaks.
* More PR feedback.
---------
Co-authored-by: Igor Octaviano <igor.octaviano@radicalimaging.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
* fix(command): Added command and hotkey binding for navigate to next and previous display set.
* Centralized the sorting (function) of display sets since at least three
areas sort display sets: hanging protocols, study/thumbnail browser and
updateViewportDisplaySet command.
* Renamed some methods for clarity.
* Scrolling active thumbnail into view for an updateViewportDisplaySet
* Added a null check.
* Added check to minimize thumbnail scrolling.
* fix(Measurement): fixed line dashing of measurements in various scenarios
For a StackViewport simply rely on the SeriesInstanceUID being part of the
tracked measurements or not.
For a VolumeViewport first check the image id of the current image in the viewport
and then check the SeriesInstanceUID (like for a StackViewport) if an id is returned.
To reliably get the id of the current image, listen for the VOLUME_VIEWPORT_NEW_VOLUME event.
* Changes for PR comments.
* fix(Video): Added fallback checks for DICOM video
Added some docs for video, pdf and upload.
* Added separate headings for DICOM PDF, DICOM Video and DICOM Upload in the docs.
* Updated docs for singlepart data source configuration.
* fix(local): should use dicomlocal for localbasic
* chore(github): styling for issues forms
* try to fix netlify
* apply review comments
* apply review comments
- prevent non-cornerstone viewports from showing the image download dialogue
- passing the rendering engine id to ToolGroup.addViewport
- fixed the keep/dismiss aspect feature
* 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(Measurements): return {} instead of undefined for getSOPInstanceAttributes
* PR feedback:
- separated measurements from non-acquisition plane
- reverted to previous behaviour of returning undefined in getSOPInstanceAttributes
* Added unit tests for unmapped measurements.
* PR feedback: added comments to the unmappedMeasurement used in the unit tests.
* 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
Update HangingProtocolService doc to include example and instructions to use custom attributes included in @ohif/extension-test. Example shows usage of sameAs for frame of reference check in tmtv hanging protocol.
* 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.
* choe(modes, components): improved readability
This commit includes changes to improve performance in the basic-dev-mode and Thumbnail components.
Additionally, a change in the webpack configuration file was made to ignore ".min.js.map" files.
The defaultDataSourceName was also added to several configuration files, and whiteLabeling code was removed
from the local_orthanc configuration file.
* fix(cli): better path management and add dependencies
* better docs
* add default tool group to the templates
* add review comments
* apply review comments
* try to fix test
* fix thumbnail in tests
The description for the numberOfDisplaySetsWithImages property was corrected. The update also involves adding a callback property that returns several objects (matchedViewports, viewportMatchDetails, displaySetMatchDetails) and returning them from the method 'findViewportProtocols'. The refactored code also has better readability.
* 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: viewportdialoge not appearing in non-tracked viewports
* feat(viewports): Introduce useViewportDialog and remove deprecated API
This commit introduces the `useViewportDialog` hook and replaces the deprecated `viewportDialogApi` with the new `viewportDialogState`. Additionally, the notifications in `OHIFCornerstoneRTViewport` and `OHIFCornerstoneViewport` have been removed. Finally, the `CinePlayer` component now accepts optional parameters.
* fix tests
* feat(cst): Add new command to get nearby annotation tools
This commit adds a new command `getNearbyAnnotation` to the `commandsModule.ts` file that identifies nearby annotation tools excluding Crosshairs and ReferenceLines. It also removes an unused mapping to `Crosshairs` in `initMeasurementService.js` and changes the command run in `findNearbyToolData.ts` to `getNearbyAnnotation`.
* perf(cornerstone): Improve performance by optimizing tools
Removes unnecessary imports to improve app's performance. Changes how annotations are detected on the `commandsModule.js` file by fetching the `isAnnotation` property of the tool instance if available. Updates `CrosshairsTool` and `ReferenceLinesTool` to not be annotations anymore. Adjusts the `localhost` URL ports for the `dcm4chee-arc` service interface on `local_dcm4chee.js` to allow for more efficient server communication.
* feat(cornerstone): Add CornerstoneServices type and ToolGroupService.getToolGroup to get tool group by ID or active viewport
This commit introduces the new CornerstoneServices interface to the code and adds the ToolGroupService.getToolGroup method, which can retrieve a specific tool group by ID or from the active viewport. The older _getToolGroup method has also been removed from commandsModule. When no tool group ID is provided, this method now retrieves the tool group from the currently active viewport with the help of getActiveViewportEnabledElement. Additionally, the required reference to @ohif/core has been removed.