* 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
* 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: OHIF-433 Clicking on measurement should highlight the measurement row in the measurement panel
Added selected flag to each OHIF measurement.
Listening to CS3D ANNOTATION_SELECTION_CHANGE to keep the selected flag in sync.
* fix: OHIF-433 Clicking on measurement should highlight the measurement row in the measurement panel
Fixed broken unit tests.
* PR feedback from Alireza:
- use MEASUREMENT_UPDATED event for selection changed
- added TODO to eventually have CS3D introduce the selected flag per annotation
- added MeasurementService._publishEvent
* PR feedback: now using _broadcastEvent
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
The primary button will always be the layout grid selector and the MPR toggle is in the drop down menu.
This is the first step to later adding other (e.g. 3D) layout HPs to the menu.
Summary of changes/fixes:
- SplitButton now allows for its primary button to be any button component specified by a UI type.
- SplitButton passes a className to its primary button component to dictate how it should be rendered
based on its active/toggle status, hovering, menu visibility etc.
- The default menu item renderer for the SplitButton, renders acitve toggle items correctly.
- Items/buttons in the toolbar are now all the correct and same size.
- Added ToolbarService.getButtonComponentForUIType to fetch a button component for a given UI type.
- Spacing between toolbar items is now done at the Toolbar level to avoid double spacing and to ensure
uniform spacing.
- The drop down menu closes when clicking the primary button.
- Show a mouse down click effect when clicking the primary button.
Items to investigate still:
The following are all slightly contrary to the design specs of the UI:
- Is the click effect on the primary button satisfactory because with the hover border effect, the
button appears slightly smaller during the mouse down/up operation? (MEDIUM)
- On hover over the drop down button, the right-hand-side corners of the primary button appear
rounded and NOT square. Also the hover over the drop down button border effects make the primary
button appear smaller. (MEDIUM)
- Should there be hover effects when hovering over either tooltip of the SplitButton? (LOW)
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
Fixed broken e2e tests.
data-cy and data-tool properties now passed down to primary button component.
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
On drop down button hover, the primary button now stretches all the way right with no right border
and with square corners in the top and bottom right as per the toolbar spec.
The mouse down effect gives a full button look (i.e. no borders) with rounded corners all around and black text icon.
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
Documented that the primary button of a split button can specify a UI type.
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
Feedback from PR review to fix prettier formatting issue.
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
Added TODOs as per Bill's request in the PR.
* feat: Combine the layout grid selector tool with the toggle MPR button into a split button.
Feedback from Alireza: reverted the layout selector and MPR tools to be separate toolbar items.
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
* feat(imageLoader):Add an nth image loader strategy (#10)
* Updates for PR for nth menu
* performance:Prior implementation was O(n^2), taking about 50 ms
* feat:Nth image loader, added docs as requested
* feat: warn for overlapping segments
* fix: typo
* refactor mpr toggle and stack sync
* fix: wip for more general mpr
* fix: tool groups for mpr
* fix: changing of viewport id
* fix: viewport Id for the seg viewports
* fix
* update cornerstone version
* 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>
* added utilities to get frameNumber from imageId and add frameNumber to per-frame instance copy
* Fix measurements' display texts on the Measurements Panel to have the correct instance number and frame number
* fixed minor React bugs (errors on console)
* fixed React's console bugs that are logged for some series that doesn't have "description"
* bug fix - multi-frame files was not loading frames correctly. It was loading Frame 1 twice, and not loading the last frame. Due to wrong frame number indexing (frame number begins with 1, not 0)
* metadata parser fix - providing default values of imagePlaneModule
* measurement SR support on multi-frame DICOM
* bug fix - jumping to the selected measurment on multi-frame DICOM
* upgrade dcmjs dependency to 2.8.1
* StudySummary component - allow "description" to be null
* make getUIDsFromImageID() method public from MetadataProvider
* imageId usage fixes to be more stable
* change the variable name to be more meaningful
* fix metaProvider importing
* for(...of) instead of for(i=0;i<length;..)
as that doesn't assume anything about the layout/design and just gets next until done.
* use Array.findIndex instead of plain for loop
* use ReferencedSOPSequence[0] - because the ReferencedSOPSequence is an array that happens to have attributes of child zero when of length 1, but you shouldn't count on that.
* DisplaySetService.getDisplaySetForSOPInstanceUID() - added optional frameNumber parameter for future usage : now they are just ignored as we are not supporting multiframe splits
* simple code refactoring
* refactoring for checking undefined values - mappedAnnotations
* remove unreachable code
* code refactoring - prefer conditional chaining
* fix how we access imageIds of viewport (StackViewport)
* feat(HP): Apply HP to display sets, fix race condition
* fix: displaySetService no event not needed (#2912)
* fix various styles and renamings
* feat: refactored hp service
* fix: use HP service event for viewport grid
* remove unnecessary doc
* fix test
* apply review comment
* fix: segmentation creation
Co-authored-by: Alireza <ar.sedghi@gmail.com>
* fix: ptDisplaySet metadata problem
* fix: typo in xhrHeader field
* fix: temporary fix for crosshairs on reload data
* fix hotkey bug for input fields
* upgrade docusarusu to stable release
* circle ci node upgrade
* cypress node upgrade
* bump node in netlify
* bump node version
* remove versioned docs
* update resources
* fix: webpack injection of plugins
* fix meaningful label for panels
* add reviews and fix cli for creation
* copy over chunks if exists in the build
* edit templates
* edit templates
* fix yarn lock
* fix(plugin):Deploy on windows is broken
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
* feat: cs3d working stack viewport and tools (#19)
* Squashed everything
* fix weird react issue
* fix eslint / prettier stuff
* thumbnails work now with cpu rendering
* feat: use new loadImageToCanvas in cs3d
* make jump to measurement work
* fix active thumbnail
* fix measurement delete
* fix window level presets
* remove segmentation and sync groups for now
* fix the dicom pdf and dicom video
* fix cornerstone window assignment for cypress
* apply review comments
Co-authored-by: Erik <erik.sweed@gmail.com>
* feat: cs3d tools and toolGroups (#20)
* add more tools to work with cs3d mode
* fix hotkeys
* add stack manager usage for stach viewports
* add image scrollbar
* wip viewport overlay
* fix toAnnotation schema for tools
* fix the unnecessary size change that triggered resize
* hanging protocol improvement to allow unmatched errors
* study description matching for hanging protocol
* fix the displaysetOptions to work
* fix handle the active tool when a new viewport is added
* fix separate toolGroups for mode
* apply review comments
* apply review comments
* yarn lock
* feat: overlay component (#21)
* fix default displayset options
* add viewport overlay
* apply review comments
* feat: loading and orientation indicators (#22)
* add loading indicator
* add orientation marker initial work
* apply review comments
* fix: orientation markers (#23)
* finished the orientation markers
* fix various broken cypress tests
* apply review comments
* update yarn lock
* feat: re-working measurement tracking mode with cornerstone3d (#2805)
* feat: cs3d working stack viewport and tools (#19)
* Squashed everything
* fix weird react issue
* fix eslint / prettier stuff
* thumbnails work now with cpu rendering
* feat: use new loadImageToCanvas in cs3d
* make jump to measurement work
* fix active thumbnail
* fix measurement delete
* fix window level presets
* remove segmentation and sync groups for now
* fix the dicom pdf and dicom video
* fix cornerstone window assignment for cypress
* apply review comments
Co-authored-by: Erik <erik.sweed@gmail.com>
* feat: Add Measurement tracking mode with cs3D (#2789)
* feat: first render for cornerstone3d tracked viewport
* make tool active work
* wip for SR extension
* renamed dicom sr to cornerstone dicom sr
* remove cornerstone from dicom pdf and video
* move dicom sr logic to sr extension
* feat: Add hydration for the length tool
* fix SR display tool for length using cs3d
* fix default config
* fix: various bugs with sr viewport and tracking
* fix promptying to continue tracking for when SR is created
* feat: add keep trackign of unique identifiers
* fix hydration for same imageIds
* feat: Add SR toolGroup creation on modeEnter
* feat: remove the need for separate mapper for SR hydration
* add SR display for ellipse
* handle hydration of elliptical ROI tool
* remove cornerstone extension
* add arrow mapping
* feat: Add ArrowAnnotate SR display and hydration
* apply review comments
* apply review comments
* move viewport labels to the viewportData
* apply review comments
* fix: integration cypress tests with cornerstone3D and add CINE tool (#2795)
* fix: integration cypress tests with cornerstone3D
* revert to addOrUpdate as it makes more sense
* fix local drag and drop
* fix tests
* move dicomLoaderService to cornerstone extension
* fix various import bugs
* fix bug for local PT series
* fix various unit tests
* bump cs3d versions
* add angle and magnify tool
* bump dependencies to avoid broken peerDeps
* feat: add initial work for capture using cs3d
* feat: show annotations on the image capture
* feat: add svg layer export
* feat: Add CINE Tool
* feat: remove unnecessary viewport rendering for cine state changes
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
* docs: modify and improve documentation (#2800)
* cleanup docs versionings
* feat: Add all version explanations
* version docs for 3.0
* wip for changing docs
* wip for updated docs
* add utility module documentation
* fix demo with nohoisting of history
* add slides and video to resources
* apply review comments
* fix: drag and drop SR into SR viewport (#2803)
* update yarn lock
Co-authored-by: Erik <erik.sweed@gmail.com>
* update pathnames to match v3-stable
* update the e2e pathname
* fix: various bugs with regard to tracking workflow (#2811)
* fix: various issues with measurement panel
* fix: update default tool style for annotations
* fix: annotatoin label getting removed
* feat: Add backward compatibility for SR hydration with legacy cornerstone
* fix: cursors and ellipse ROI max style
* fix: ArrowAnnotate SRDisplay
* apply review comments
* bump package versions
* fix: bugin rehydration of SR
* fix: e2e tests
* fix active viewport thickness and arrowTool ui
* add readme for measurement tracking
* use uploaded image for readme
* add back images
* try to fix e2e test
* fix: window level presets hotkeys
* Update README.md
* update yarn lock
* feat: volume api and TMTV mode (#2817)
* feat: volumeAPI and TMTV mode
* feat: use cs3d cache service to obtain viewportData
* wip for volume api
* wip: fusion viewport
* feat: add blend mode option
* wip for image scrollbar
* fix drag and drop thumbnail
* wip for image scrollbar for voluems
* fix: element mismatch bug for scroll
* feat: Add image scrollbar to volumes
* feat: add syncGroups to volume api
* feat: add tmtv mode initial setup
* feat: add initial image options for the stack viewports
* feat: Add custom load strategy for volume viewports via HP
* apply review comments
fix: Jump presets cs3d (#2812)
* feat: Add JumpPreset to OHIF for Cornerstone3D
* fix: accessing viewport service from servicesManager
feat: volume API and TMTV mode (#2814)
* fix: do not display overlays on mip viewports
* feat: add optional disableCommands for toggle buttons
* fix: toggleCrossharis
* feat: config the crosshairs
* feat: add PetSUV Panel for changing metadata
* feat: initial work for the rectangleROIThreshold panel
* wip: measurement service
* roi threshold working
* feat: Add displayText to segmentations
* feat: add remove segmentation
* feat: add csv export
* feat: add RT export for annotations in tmtv mode
* fix: fusion to use pt in tmtv mode and measuremet mappings
* fix: various bugs
* apply review comments
* apply review comments
* feat: add fusion color maps
* add readme to tmtv mode
* Update README.md
* fix: try to fix build
* fix unit tests
* Update README.md
* feat: add about to the panel
* fix: changing strategy in roi panel
* apply review comments
* update package versions
* wip for stackPrefetch
* fix: cornerstone3d hydration and renaming (#2818)
* update readme
* renamed cornerstone extension
* wip for renaming cornerstone3D variables
* wip for renaming cornerstone3D variables
* wip for fixing bugs for SR viewport
* fix: jumpToMeasurement and initial label after hydration
* fix: fileName capitalization
* feat: use the new prefetch stack in the cs3d (#2820)
* feat: use the new prefetch stack in the cs3d
* use viewport scroll api for stack viewport
* fix cine stop when scrollbar changes
* feat: use new prefetch events
* fix loading state to not show repeatedly
* fix: various bugs for tmtv mode thresholding and new icons (#2823)
* feat: make tmtv mode available in worklist
* feat: add new icons for tmtv mode
* feat: add fusion color icon
* fix: parallel scale calculation
* fix: bump Cornerstone to get large image support working
* fix: Fix issues with CPU viewport flipping, including config files
* fix: bump cornerstone to fix magnify tool
* fix: Bump Cornerstone version to fix resetCamera issue in StackViewport
* ci: Add _headers file to enable CORS headers for Netlify Drag/Drop deploys
* fix: WADO-URI was not working. PET Metadata was coming from the wrong place. Fixed some minor React errors
* feat(OHIF):Allow modes and extensions to be added after commpile time. (#2838)
Also works with the compile time add that the existing cli uses, so that both build types work.
Eric and I agreed this doesn't change existing functionality, but is almost entirely build issues/fixes.
* bump: dependency versions to fix hydration bugs (#2848)
* bump: dcmjs version to fix hydration bugs
* try to fix tests
* bump dependency versions
Co-authored-by: Alireza <ar.sedghi@gmail.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
* feat: Add OpenID Connect support, speed up docker rebuilds
* fix: Switch Google Cloud API URL to v1
* chore: Remove redux-oidc and use our own components instead
* Update all the icons
* Turn off global tool sync; watch as the world burns
* Shift a bunch of things around so we can start tracking/setting per element
* ToolBarService to initiate one of three different calls; callback passed to all button types
* SplitButton and Toolbar Button to use new `onInteraction` prop and new toolbar state
* Changes to toolbar button interface and config
* Fix broken layout selector
* Update SR viewport to activate tools in viewport component
* Duplicate activation logic in measurement tracking extension
* Add alternative/dashed variants for SR Viewport
* pass through "setToolActive" commands for other viewport types
* fix small overlay bugs (no wwwc or scale info)
* Show SpacingBetweenSlices instead of PixelSpacing in patient information dialog
* Fix prop-types
* Update tracked viewport to have alternative tracked styling
* alt styling for SR viewports
* Update to support isLocked + isRehydratable
* fix broken logic
* fix broken logic
* switch icon style
* fix icon styles
* hover and click to start flow
* expedited workflow when data is not dirty (just after SR hydration)
* fix: setting elliptical roi tool
* fix arrow annotate dialog
* fix: do not show learn more button for now
* remove dead code
* simpler cache invalidation
* simpler cache invalidation part 2
* Fix for unable to spand study cards on separate pages
* No more setting on debounce, jumpToMeasurement service set up.
* Fix bug causing a race condition sometimes if you click super fast.
* Optimise rendering of Tracking viewport slightly.
* element => targetElement
* Remove complete TODO
* Respond to reviewer comments.
* Fix e2e workflow.
* Fix regression that removed highlighting on jump to.
* Make sure jump to works from panel as well as viewport.
* Fix typo and remove debugger.
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* Instance metadata plus metadata provider overhaul.
Fix consumption of wado-uri urls
fallbacks + datatype agnosticism.
WIP DICOMify things.
fix various issues with naturalized variable naming migration.
Remove metadata provider.
Fix consumption of multiframe images and addition of CWIL metadata.
Fix strange build issues.
Fix CWIL style windowWidth to array from naturalized DICOM.
Fix PT, CT, CR and DX issues for cornerstone + DX issues for vtkjs.
Move color palette fetching down to the natuaralized JSON level.
Remove unused StudyMetadataSummary
Remove redundant dicom metadata dictionary.
Working local + json routes.
Fix SR read.
Finished first round of testing + cleaned up debugging etc.
* data => metadata for instance naturalizedJSON
* Update dcmjs version
* Correct github isssues.
* Fix erroneously replaced files.
* Danny's recommended changes.
* Instance metadata plus metadata provider overhaul.
Fix consumption of wado-uri urls
fallbacks + datatype agnosticism.
WIP DICOMify things.
fix various issues with naturalized variable naming migration.
Remove metadata provider.
Fix consumption of multiframe images and addition of CWIL metadata.
Fix strange build issues.
Fix CWIL style windowWidth to array from naturalized DICOM.
Fix PT, CT, CR and DX issues for cornerstone + DX issues for vtkjs.
Move color palette fetching down to the natuaralized JSON level.
Remove unused StudyMetadataSummary
Remove redundant dicom metadata dictionary.
Working local + json routes.
Fix SR read.
Finished first round of testing + cleaned up debugging etc.
* data => metadata for instance naturalizedJSON
* Update dcmjs version
* Correct github isssues.
* Fix erroneously replaced files.
* Danny's recommended changes.
* Update JSON CI
* Update casing of import.
* Fix jump for SR.
* Fix unit tests for measurements service
* Fix json CI test.
* fix: update yarn lock
* Fix local non-encapsulated pdf view
* CI updated to new sucess message.
Co-authored-by: Danny <danny.ri.brown@gmail.com>
* feat: 🎸 MeasurementService
Work in progress...
* Remove cornerstone tools import
* Second iteration
* CR Update: Add update / added events example
* Add new props to measurements
* Update event log
* Add new measurementid to annotation
* Add context support
* Add value types
* Add area
* Add todo
* Wip measurement to annotation map
* Change points representation
* Add props to annotation mapping
* Add tests
* Extract formatter from init and add tests
* Sketch matchers
* Fix events and valuetypes imports
* Remove context support
* Rename formatter to mappings
* Sketching source and source definitions
* Adjust matching criteria in addOrUpdate
* CR Updates: Extract private functions and rename variables
* Fix broken tests
* Add more measurement service tests
* Update broken mapping tests
* Update test description
* Update getAnnotation to get mapping based on def and source
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* fix: 🐛 Make Plugin switch part of ToolbarModule
Closes: #1241
* Move setCornerstoneViewport command into cornerstone extension
* Exposing extensionManager into extension's get modules functions
* Remove Plugin switch
* Updating set cornerstonelayout to work on VIEWER context
* Creating a customComponent for 2D MPR button
* Use extensionManager to show or not buttons
Adding isHidden option into toolbarModules
* Make buttons hidden depending on extension registration
* Fix unit test after changes on extensionManager
* Remove workaround for extensionManager
* Use studyMeatadataManager and remove TODO's
* Remove storeContext not needed
* Moving Exit 2D MPR into cornerstone extension with VTK context
* Remove PluginSwitch files
* Fix E2E tests
* Adding cypress screenshots into gitignore
* Remove extensionManager from getModuleFn functions and moving CustomComponent for VTK button to VTK extension
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>