Commit Graph

59 Commits

Author SHA1 Message Date
Alireza
b3a0faf5f5
feat(resize): Optimize resizing process and maintain zoom level (#3889) 2024-02-21 13:49:23 -05:00
Alireza
e4a116b074
fix(viewport-sync): remember synced viewports bw stack and volume and RENAME StackImageSync to ImageSliceSync (#3849) 2024-01-22 09:44:35 -05:00
Alireza
b1efe40aa1
fix(segmentation): upgrade cs3d to fix various segmentation bugs (#3885) 2024-01-09 10:15:56 -05:00
Celian-abd
e8858f3eb5
fix: colormap for stack viewports via HangingProtocol (#3866) 2024-01-08 12:28:22 -05:00
Alireza
bf252bcec2
feat(hp callback): Add viewport ready callback (#3772)
Co-authored-by: Ouwen Huang <ouwen.huang@duke.edu>
2023-11-08 09:19:49 -05:00
Alireza
55002fbd71
chore(version): move to the next beta version [BUMP BETA] 2023-10-12 17:09:44 -04:00
Alireza
7c57f67844
fix(modules): add stylus loader as an option to be uncommented (#3710) 2023-10-10 13:21:17 -04:00
Joe Boccanfuso
a9a6ad50ea
fix(segmentation): Various fixes for segmentation mode and other (#3709) 2023-10-10 10:25:30 -04:00
Alireza
4911e4796c
fix(segmentation): do not use SAB if not specified (#3705) 2023-10-09 11:02:49 -04:00
Alireza
8bc12a37d0
fix(bugs): fixing lots of bugs regarding release candidate (#3700) 2023-10-05 23:39:56 -04:00
Alireza
5e7fe91617
feat(displayArea): add display area to hanging protocol (#3691)
Co-authored-by: Ouwen Huang <ouwen.oh@gmail.com>
2023-10-03 15:18:15 -04:00
Alireza
48bbd6281a
feat(segmentation mode): Add create, and export SEG with Brushes (#3632) 2023-09-22 10:23:44 -04:00
Alireza
9045ddaedc
chore(prettier): full repo linting and code reformatting once and for all (#3627) 2023-09-01 16:19:39 -04:00
Alireza
4c6ff873e8
feat(grid): remove viewportIndex and only rely on viewportId (#3591)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2023-08-30 16:46:55 -04:00
Joe Boccanfuso
0f9b36906f
feat(thumbnail highlight): Thumbnails of hydrated series are now highlighted (#3594) 2023-08-16 12:51:26 -04:00
Alireza
5d435424e2
lint(curly): consistent use of curly brackets in codebase (#3584) 2023-08-09 10:07:33 -04:00
Alireza
156c1ba60b
perf(segmentation): make segmentation read 3x faster (#3577) 2023-08-08 14:39:31 -04:00
Alireza
4a184d0be7
fix(invert): allows volume viewport to invert and sync their invert status (#3514) 2023-07-06 12:09:34 -04:00
Joe Boccanfuso
ed44ad7f4b
fix(segmentation): Use the series description for the segmentation label (#3517) 2023-07-04 14:39:39 -04:00
Sofien-Sellami
b5b7d323c8
fix: allow volume3d viewport for SUV rendering (#3494)
Add checks to include volume3d viewports.
2023-06-29 10:30:41 -04:00
dxlin
e6f73a2025
fix(RT) : Make ContourImageSequence check under ROIContourSequence->ContourImageSequence optional (#3476) 2023-06-19 09:01:23 -04:00
Alireza
81b02a6e46 chore(build): update the beta version [BUMP BETA] 2023-06-08 13:14:34 -04:00
Alireza
eb1550536c
chore(build): update the beta version [BUMP BETA] 2023-06-06 21:47:51 -04:00
Alireza
828690cd3b
chore(build): try to build demo and docs (#3434) 2023-06-06 13:34:26 -04:00
Alireza
1881ce5cbc
feat(custom displayOptions): add custom options to every level of hp (#3372)
* 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>
2023-05-16 13:07:37 -04:00
Bill Wallace
d5c5951e57
fix(SR): KO series being displayed in browser list (#3382)
* 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>
2023-05-15 08:23:13 -04:00
Alireza
4fd81b5cd2
fix(local): fix modalities not showing in local (#3388)
* fix various bugs

* revert back docusaurus for styling issues
2023-05-12 15:04:19 -04:00
Joe Boccanfuso
98d966514a
fix(Measurements): edit measurement while SEG loaded (#3375) 2023-05-09 12:15:26 -04:00
Alireza
2f355fa158
fix(cli): better support for external modules and toolGroups in templates (#3364)
* 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
2023-05-08 15:49:28 -04:00
Bill Wallace
b5b936b53e
fix(jump): Jump to measurement wasn't jumping when presentation already existed (#3318)
* 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.

---------
2023-05-01 12:54:33 -04:00
Alireza
c9d3c08cb6
feat(cst): Add new command to get nearby annotation tools (#3327)
* 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.
2023-04-28 10:14:14 -04:00
Alireza
66863281c4
feat(RT): add dicom RT support via volume viewports (#3310)
* 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
2023-04-26 12:21:08 -04:00
Bill Wallace
69d8e6a191
fix(SR): When loading DICOM SR, only one measurement is shown with no way to show others (#3228)
* fix: Make the cornerstone sR viewport show all measurements

* PR fixes

* PR fixes

* Add a DICOM SR hanging protocol

* Duplicate the hanging protocol for seg as well

* PR requested change

* PR requested changes

* PR fixes plus merge update fixes

* PR fixes and integration test fix

* PR - documentation
2023-04-25 17:25:10 -04:00
Bill Wallace
6cf271d006
fix: Service consistency typing (#3309)
* Use more consistent type/structure for services

* Fix restoring SR so the tests described work

* One more typed service

* Added types for the Cornerstone library

* Couple more type fixes
2023-04-18 11:17:50 -04:00
Ouwen Huang
af50815ebb
fix(crosshairs): suppressed error for crosshair (#3237) 2023-04-05 14:29:20 -04:00
Bill Wallace
5e42a42b5f
fix(viewports): The display of linked viewports during drag and drop has a race (#3286)
* 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
2023-03-31 11:58:48 -04:00
Alireza
4734b3bac6
fix(volumeLoad): should not have missing slices when loading (#3287)
* fix(volumeLoad): should not have missing slices when loading

* add review comments
2023-03-29 09:40:22 -04:00
Joe Boccanfuso
ed7ded05db
fix(Volume3DViewport): Replacing the volume 3D viewport with another reconstructable series (#3281)
* fix(Volume3DViewport) - Replacing the volume 3D viewport with another reconstructable series fails
- updated cornerstone3D core package dependency
- checked for null presentations when setting presentations
- added viewportIndex as a dependency for enabling and disabling an OHIFCornerstoneViewport

* PR feedback - removed viewportIndex useEffect dependency for enabling/disabling OHIFCornerstoneViewport
2023-03-27 15:03:16 -04:00
Alireza
4e94b588a7
fix(SegmentationPanel): should be able to hide and only show one segment (#3270)
* fix(SegmentationPanel): should be able to hide and only show one segment

* fix imports

* bump package versions
2023-03-22 12:44:52 -04:00
Joe Boccanfuso
550918dd31
feat(VolumeViewport3D): add volumeViewport3Dd sample hp (#3241)
* 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.
2023-03-21 16:09:50 -04:00
Bill Wallace
ee4e8a4105
fix: Hanging protocol state fixes (#3242)
* 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
2023-03-20 15:11:21 -04:00
Bill Wallace
803f638401
feat: state sync service and hanging protocol updates to preserve state (#3131)
* 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
2023-03-15 12:41:41 -04:00
Bill Wallace
ecfdc9a687
fix(typescript): Missed renames UIModalService and UserAuthenticationService (#3171) 2023-02-13 08:55:55 -05:00
Bill Wallace
8af0362d12
fix(typescript): rename services to fix typescript (#3165)
* fix: Rename services to lower camel case, hp, measure

* fix: Rename DisplaySetService instances to displaySetService

* fix: Rename CornerstoneViewportService to lower camel case

* fix: Added lower case segmentationService rename

* rename other services (#3166)

* rename uiDialogService

* rename toolGroupService

* rename uiNotificationService

* rename viewportGridService

* rename syncGroupService

* rename CornerstoneCacheService

* Fix a syntax error in hotkeys

* Fix a couple of rename issues that were missed

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-02-10 16:46:09 -05:00
Bill Wallace
7f799b8e3d
fix: Create typed services and allow lower case access to agree with naming conventions (#3141)
* fix: Add typed services

* fix: Typed services - PR changes

* remaining of the cineService and toolbarService renaming

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-02-07 14:31:55 -05:00
Alireza
1d1b33224a
feat: use wadors instead of streaming wadors for volume loading (#3109) 2023-01-11 07:19:27 -05:00
Bill Wallace
00e797801d
feat(imageLoader):Add an nth image loader strategy (#10) (#3044)
* 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
2022-12-29 11:00:13 -05:00
Bill Wallace
9a03bde0ae
Fix/sr hydration non tracking (#3080)
* fix:DICOM SR hydration - remove redundancies

feat:Allow save and restore on non-tracking view

* PR comments
2022-12-29 10:13:06 -05:00
Bill Wallace
beb4517450
fix(grid):Grid service wasn't being reset (#3068)
* 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.
2022-12-09 10:58:01 -05:00
Gabriel Lebaudy
71d736067d
fix: handle undefined instance object (#3042)
Some DisplaySets don't have a `instance` property, thus throwing an error at this location. 

This change fixes this issue.
2022-11-30 11:35:27 -05:00