fix: Enhance multiframe instance handling and improve instance validation
- Updated `getDisplaySetInfo` to ensure local file frame imageIds resolve correctly, falling back to the source multiframe instance when necessary.
- Improved instance filtering in `isDisplaySetReconstructable` to handle undefined instances more robustly.
- Modified `App` prop types to make `routerBasename` optional and added new props for loading indicators and data sources.
- Refactored `CinePlayer` component to replace Button with a div for better accessibility and interaction.
* fix: A couple of changes to enable cs3d integration build
* Bun update
* fix: Crosshairs tests due to order changes
* Fix a race in DicomTagBrowser.spec.ts and update the comparison for the screenshot for seg hydration.
* Fix sorting issues by using consistent sort
* fix: Inconsistency in scoord loader. Will need an update to screenshot
* Fix crosshairs stability issues and random order issues in Scoord
* Update the comparison image
* Update navigate image
* fix: Axios issue
* Update to current CS3D
- Add FrameOfReferenceUID to SEG and RTSTRUCT displaySet in SOP Class Handlers so the FOR is available for filtering
- Sync optimisticOverlayDisplaySets when background display set changes so the overlay menu reflects the correct state after a background switch
- Add FOR matching guard to the hydrate segmentation synchronizer to prevent the hydration synchronizer from blindly mirroring segmentations from a source viewport to a target viewport if their primary Frames of Reference do not align.
- fix segmentation overlay order reversal on viewport re-render
* fix(SR): Added support for spline and live wire SR items.
* Apply suggestion from @greptile-apps[bot]
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Add a script to checkout a worktree for test builds
* fix: Allow download for testing sr validator
* Remove script that wasn't intended to be included
* Bump CS3D version.
* PR comments - simplify code and use single codepath for download
* Allow both download and save buttons for SEG and RTSTRUCT
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
* fix: Detect 16 bit when 8 declared
* Update bun lock with dcmjs changes
* PR comments
* Update package versions
* fix: Palette color lookup table data for dcmjs parsed data
* fix: Published version should match (#5813)
* fix: Published version should match
* Move version number update to package.json
* fix: Netlify version number update
* Try updating platform app vesion too
* PR comments
---------
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
* Update latest cs3d
* formatting
* fix: Use 64k instead of 0 for number of entries
* fix: Revert CS3D version to see test issues
* Updated screenshots for ArrowAnnotate.spec.ts.
* Update CS3D version
* fix: Update cs3d 4.17.4
* Update bun lock
* Update bun
* Downgrade to CS3D 4.17.2 to try to release
---------
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
- add segmentationExists check to getSopClassHandlerModule
- now firing SEGMENTATION_REMOVED and SEGMENTATION_REPRESENTATION_REMOVED events
- centralized segmentation removal in a listener
- when a segmentation is deleted (completely), remove it from all viewports it overlays
- when a segmentation is removed from a viewport, remove it as overlay from the viewport
---------
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
* fix(app): move study validation to ModeRoute component
- Moved validation from defaultRouteInit.ts to Mode.tsx
- Added dedicated useEffect hook for study validation
* test: add Playwright test for study not found error page across multiple modes
* fix(ViewportWindowLevel): add null checks for volumeActor in opacity functions
* refactor(ViewportWindowLevel): register histogram worker at module load and optimize scalar data retrieval
* fix(Preclinical4D): add null check for viewportId and set frame rate for cine playback
* fix(getSopClassHandlerModule): handle multiframe dynamic volumes by utilizing metaData for instance retrieval
---------
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
* fix: Initial sort not consistent
* Add better sort criteria
* Remove sorting changes
* Start replacing screen shots
* Update bun lock for version
* Leave default sort for test mode
* fix: Add consistent sorting for same series splits
* PR comments
* docs: add notes for series/display set sort
* Updated example docs
* Update sortVector to be compareSameStudy
* Add unit test
* PR comments
* [WIP] Fix contour annotations RTSS saving
* fix: Export image sop image reference provider
* Fixes for download with filename
* Updates to fix metadata issues with CS3D
* Updates to save menu
* Fixing some additional re-save metadata
* Add support for saving with predecessor image sequence
* PR comment fixes
* fix: Load RTSS after save
* fix segmentation save
* fix load of mixed seg/rt studies
* Use frame module to get information on the frame shown
* Fix study browser to use instances.length when numImageFrames not present
* fix: Load of display set split from multiple non-FOR referenes
* Fix RT and SEG applying to wrong series because of using
referenced series sequence without checkout sop instances
* Fix save seg
* Update to released CS3D versions
* test: Add revokeObjectURL to test download blob
* Add hard dependency on mode-basic to fix build order issues
* fix: build
* Try to fix build segmentation
* PR comments
* PR comment update
* fix to unexpected change from All to recent browser study lists because of the search order for the presence of the study in the tab groups and subsequent reset of the active tab state.
Minor comment in the study browser header.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore Added type annotations and cleaned up stylistically.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* Tighten up a bit of the code to make it easier to follow
* Fix warnings
---------
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Confirm that Alireza's requested change was included.
* chore: Minor adjustment to generateAcceptHeader function signature to reflect expected return type.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* fix: Added switch to skip the Accept header generation when requesting metadata. WADO metadata request is more likely to return JSON and some VNAs do not like the extra options in the Accept header. Also, passing an empty array is not sufficient because somewhere we still include a comma that breaks the Accept header. It's better to omit it for the metadata request only.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore: Added new HeadersInterface interface type docstrings.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore: Refactored getAuthorizationHeader() function signature so it is typed checked. Of course, I upgraded the module to a TypeScript module.
Moved the request header interfaces into its own TypeScript module (RequestHeaders.ts) in the core types.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore: Refactored the user logic to include a TypeScript interface. As a result, upgraded the source file to TypeScript.
Removed the User interface from RequestHeaders module and moved them to the user module.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore: Updated function signatures, user import, and confirmed unit tests are passing.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore: Minor stylistic adjustment to getAuthorizationHeader.test.ts
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore: Added missing comments.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* chore adjusted generateWadoHeader parameter's name and added comment about the expected default header.
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
* Just tweaking the interface a bit to be more consistent.
* fix authorization header signature change
---------
Signed-off-by: Luis M. Santos <luis.santos2@nih.gov>
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
Co-authored-by: Alireza <ar.sedghi@gmail.com>