This change makes the OHIF side consistent with the CS3D user calibration settings, and will correctly display px and rounding values consistent with the CS3D display.
- 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(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: 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.
* 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.
* feat: initial RT support
* make the segmentation service work with representation data
* feat: make segmentation service work with representations
* fix rtss vis
* fix: rt hydration
* fix the rendering of rt names
* fix imports
* refactor: Modify status and click handling for hydration of RTStructures
Modify status and click handling for hydration of RTStructures by renaming `onPillClick` to `onStatusClick` in `OHIFCornerstoneRTViewport.tsx` and `_getStatusComponent.tsx` files. Also, update initial segmentation configurations in `PanelSegmentation.tsx` and simplify configuration changes and values for segmentation service in `SegmentationService.ts`. Finally, remove console debug in `CornerstoneViewportService.ts`.
* wip for highlighting contours
* refactor rt displayset code
* review code update
* update cornerstone dependencies
* refactor: Update license year, version number, and minor code cleanup
This commit updates the license year in several files, updates the version number in package.json, and contains minor code cleanup in two files.
* add bulkdataURI retrieve for RT
* fix package version
* apply review comments
* apply review comments
* apply review comments
* feat(panels): refactor and streamline segmentation configuration and inputs
Rewrote state hooks and streamlined the configuration input for `PanelSegmentation` to be more verbose and reusable. Included several new input types, including the `InputRange` component which now shows a fixed floating value based on the step provided. The `SegmentationConfig` component now works with dynamic values controlled by `initialConfig`. These changes should improve function usability and make the code more maintainable going forward.
* fix various bugs
* fix contour delete by upgrade cs3d version
* feat(viewport, inputNumber, segmentationConfig, orthanc): Implement minimum and maximum values for input number components, and useBulkDataURI for Orthanc configuration. Compare measurement view planes with absolute viewport view planes in Cornerstone viewport.
* update yarn lock
* fix: The display of linked viewports during drag and drop has a race
* PR review comments
* fix: Segmentation display two up
* Removing console logs
* Fix the blank viewport can have stuff added to it
* Fix the null name on HP module
* Fix the navigate to initial image
* Fix the nth interleave loader
* Fix the unit tests
* PR comments - docs mostly
* fix: Exception thrown on change displayset after double click
* feat(DoubleClick): double click a viewport to one up and back
Added a toggleOneUp command that puts the active viewport into a 1x1 grid layout
and it toggles out of 'one-up' by restoring its saved 'toggleOneUpViewportGridStore'
from the StateSyncService.
Added double click customization for the Cornerstone extension with the
default double click handling being the toggleOneUp command.
Added a cypress test for the double click functionality.
* PR feedback:
- tracked viewport measurements no longer show as dashed when toggling one up
- disallowed double clicking near a measurement
- updated cornerstone3D dependencies to fix double click of TMTV and volume viewport 3D
- created ViewportGridService.getLayoutOptionsFromState
* Updated the ViewportGridService docs.
* Switched to using 'cornerstoneViewportClickCommands' and consistency with the context menu clicks.
* feat(VolumeViewport3D)
- importing and using Cornerstone 3D's VolumeViewport3D viewport
- added mprAnd3DVolumeViewport hanging protocol
- allowed for W/L preset to be applied to a viewport
* Updated cornerstone core dependency
* Removed pan and zoom from the volume3d tool group so that tackballrotate is never dropped for that viewport.
Removed overlays from 3D volume viewport.
Throw an error and display a message whenever an unapplicable tool is selected.
* The default/initial orientation for a 3D volume viewport can now be set.
Using the 'interleaveTopToBottom' image load strategy for the 'mprAnd3DVolumeViewport' hanging protocol.
* Do not set orientation for stack viewport.
* 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
* 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