Commit Graph

795 Commits

Author SHA1 Message Date
Bill Wallace
dd22e37e4c
fix(contextMenu): fixes for context menu icon (#3275) 2023-03-22 18:04:44 -04:00
Bill Wallace
bc642fd2b6
feat: Allow configurable context menus (#2894)
* feat: Context menu

feat: Custom context menu

Adding documentation

PR updates

* fix: Capture tool exception

* PR updates

* Add fully worked out examples in the basic test mode/extension

* Fix the menu display

* fix: Make the commands on clicks much more configurable

* Wait for load before double clicking

* docs

* PR changes - nothing functional, just moving things endlessly

* PR comments

* PR changes - rename the default context menu

* Renamed the cornerstoneContextMenu to measurementsContextMenu

* Add chevron right to the sub-menus
2023-03-22 17:45:28 -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
b7fff77e17
fix(segmentation): failing to render SEG because it was on default tool group (#3222)
* fix: Segmentation service fixes for secondary volumes

* Remove toolgroupID in promptSeg
2023-03-10 13:57:23 -05:00
Joe Boccanfuso
5670a4d8d1
feat(PanelService): Left or right side panel to auto start as closed but auto open when needed (#3212)
* feat(SidePanel)
OHIF issue #3135
- Added a method to set a callback for a Panel to invoke when it is ready
to be shown (e.g. its data is loaded).
- Implemented such methods for both the segmentation and measurement panels.
- The SidePanel component now adds a callback to Panel components so that
it will automatically open a Panel that was initially closed and yet to
be opened.
- Updated the OHIF documentation accordingly.

* PR feedback
- added a PanelService that centralized much of the logic that existed in panel PanelModule
- the SidePanel subscribes to PanelService.EVENTS.ACTIVATE_PANEL for each of its child panels

* Removed the PanelMeasurementTableTracking setMeasurementPanelContentReadyCallback method.

* Made the forceActive flag in the PanelService optional and defaulted it to false.

* Fixed failing top level exports unit test.

* - PanelService subscriptions are now per panel (id) so subscribers do not
necessarily need to check the panel id in the event when it is fired
- PanelService activate panel trigger subscriptions are now returned
so that they can be (better) managed outside of the service
- updated/created the various documentation for panels and PanelService

* Clarified various documentation.
Moved the code to add the activate panel triggers out of the extensions
and into the longitudinal mode.

* Removed the openWhenPanelActivated flag.
PanelService now conforms to extending PubSubService like the other services.
Updated various documentation.

* Fixed failing e2e, mpr test.

* Renamed the ActivatePanelTriggers type properties.
The ExtensionManager now sets the id of various modules as a property on each of those modules.
2023-03-09 22:30:09 -05:00
Alireza
7a591b87a2
feat(tmtv): add ct ranges for thresholding (#3225)
* Add CT volume in PET ROI Thresholding (#3053)

* Add CT volume in PET ROI Thresholding

* Change UI ROI Threshold config

* Refactoring ROI Threshold configuration Panel

* fix menus

* try to fix build preview

* try to fix build preview

---------

Co-authored-by: rodrigobasilio2022 <114958722+rodrigobasilio2022@users.noreply.github.com>
2023-03-07 22:47:16 -05:00
Alireza
f14e23cb8b
fix(ui): worklist had layout shift (#3218)
* fix(ui): worklist had layout shift

* apply review comments
2023-03-06 09:47:26 -05:00
Alireza
38d452e17d
feat(measurementService): use the new api for annotation manager in cs3d (#3206)
* fix OHIF to use the new api for annotation manager in cs3d

* bump package versions

* fix tests

* remove unnecessary code
2023-03-02 17:11:51 -05:00
Joe Boccanfuso
35d0787211
feat(ViewportActionBar and CinePlayer): Add new design for action bar and cine player (#3204)
* feat(ViewportActionBar): OHIF issue #3123 (#3186)

* feat(ViewportActionBar): OHIF issue #3123

- Renamed previous viewport action bar to be LegacyViewportActionBar
- Components LegacyViewportActionBar depends on also renamed: LegacyCinePlayer and LegacyPatientInfo
- New Viewport coded to specs in issue
- added React hook useResizeObserver
- added some tailwind classes

* Updated tailwind to 3.2.7.
Put external imports like React at the top of the import list.

* feat(CinePlayer and ViewportActionBar) (#3198)

* feat(CinePlayer and ViewportActionBar)
- OHIF issue 3123

- new look cine control implemented
- new custom blue color in tailwind config for various hover backgrounds in the cine control
- new icons added for cine

- Tooltip component now can be placed top (center) on hover
- Tooltip component border colour now consistent with specs

- fixed NPE in ViewportActionBar

- upgraded tailwind to 3.2.7 in platform/ui
- fixed issues in various button components brought by tailwind 3.2.7 where classes now need important flag

- fixed issue with InputRange component so that the tracked value property can change externally
- InputRange component can now optionally show its label

- added new measurement tracking state service to hydrate SR without prompting
- segmentation can also now be hydrated without prompting

* PR feedback:
- cine centralized to OHIFCornerstoneViewport
- introduced a type for the CinePlayer properties

* Addressed PR comments and concerns...

The DOM ref for the root component of the ViewportActionBar is now added to state
so that the various callbacks and ResizeObserver are updated with it.
The CinePlayer FPS slider tooltip was moved up so that its arrow does not
intersect the FPS text.
The hover area for the CinePlayer slider tooltip is now the FPS < > buttons and text.
The tracked measurements are now filtered to only include those of the active
viewport series when the tracked measurement navigation arrows are used.

* Addressed PR comments...

The update to tailwind 3.2.7 caused several look-and-feel, UI regressions,
so we are rolling back to 3.2.4.
2023-02-28 15:57:19 -05:00
Juan Esparza Torregrosa
c9125a0c0a
fix(translation): errors in StudyList and StudyBrowser for es (#3170)
* Fix translations

* Fix errors and es new translations

* Fix errors and es new translations

* Fix errors and es new translations
2023-02-24 13:07:16 -05:00
Pierre-Baptiste
34d5873bae
fix(init): servicesManager use before initialization (#3191)
Co-authored-by: Pierre-Baptiste Dupire <pierre-baptiste@omnidoc.fr>
2023-02-23 09:37:13 -05:00
Bill Wallace
67fc3f733d
feat(SR): Measurement adapter mappings and save to same series (#3140)
* feat: Add adapter mappings for RectangleROI and Angle and save same

PR comments

* fix: Rehydrate check on non core measurement adapters
2023-02-17 16:44:21 -05:00
Alireza
926290f69e
feat: add more e2e tests for MPR and add test mode and extension (#3180)
* 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
2023-02-17 15:04:07 -05:00
Joe Boccanfuso
b67c7b23e8
fix(authentication): mode/datasource routes must be marked private so they can be protected via authentication. (#3178) 2023-02-16 13:10:08 -05:00
Alireza
95bf3a105b
chore: update vtk js to 26.4.0 (#3174) 2023-02-14 14:17:13 -05:00
Joe Boccanfuso
f791a4cafb
fix(ViewportGrid) fill blank viewports with display sets not yet in grid. (#3154)
* 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.
2023-02-14 10:01:39 -05: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
Joe Boccanfuso
4558540357
fix(cypress test): remove the click at beginning of the window level test: (#3158)
'OHIF Cornerstone Toolbar'.'checks if Levels tool will change the window width and center of an image'.
2023-02-09 19:44:59 -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
Bill Wallace
980b44f18c
fix(misc): Update the data source name, provide a /datasources example customization for debug (#3036)
* fix(misc):Update the data source name, provide  a /datasources

Update the imports for a few things to match, to avoid 2 versions

Fix the datasources name

pr:Make the data source selector configurable

* Updated data source selector page as requested

* PR fixes
2023-02-03 16:56:27 -05:00
wangxuan
7a3527dd4a
fix(typo): whiteLabelling to whiteLabeling (#3139)
* fix typo: whiteLabelling -> whiteLabeling

* fix resolvejsonmodule error
2023-02-03 10:28:05 -05:00
Alireza
123e3a569b
fix(Segmentation): bump packages to fix segmentation rendering (#3138)
* add test mode

* bump packages

* add reference lines

* update yarn lock

* fix netlify build

* fix num workers

* update year in doc
2023-02-03 09:33:28 -05:00
ladeirarodolfo
b4881ab02e
fix(Panels): dicom seg panel sizing issue (#3125)
* Fix dicom seg panel sizing issue

* Set unecessary changes back

Co-authored-by: Rodolfo <rodolfo@radicalimaging.com>
2023-01-25 10:14:12 -05:00
Joe Boccanfuso
a997198587
fix: app-config settings are ignored in OHIF v3 (#3114)
* fix: app-config settings are ignored in OHIF v3
github issue #3051

Remove default route from baked in routes if showStudyList is false.

* fix: app-config settings are ignored in OHIF v3
github issue #3051

PR feedback - simply remove default route from the baked in routes.

* fix: app-config settings are ignored in OHIF v3
github issue #3051

PR feedback - updated CS3D tools version
2023-01-12 16:38:12 -05:00
Bill Wallace
fb2a60ae19
feat: Allow multiframe volumes (#3089)
* Allow multiframe volumes

* feat:Allow display of multiframe volume
2023-01-05 20:26:26 -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
Alireza
42dca11ae3
fix: various bugs with v33 re cine and colors (#3052)
* fix various bugs

* feat: initial work for debug page

* change throw to console error for color lookup table

* update packages

* apply review

* apply review comments
2022-12-05 09:53:59 -05:00
Tim
4c5d14c624
fix: Add support for showStudyList configuration setting (#3009)
I followed suit with how it was implemented in the v2 branch, on the 404
page I just hit the link back to the study list if we're not configured
to display it. See PR #2131
2022-12-02 09:23:44 -05:00
Bill Wallace
daa56a8449
feat(CustomizationService):Add a customization service (#2984)
* feat(customization):Add a customization service

Update UICustomizationService to v3-stable.

Also, adds an example customization for tab colors

* moved the customization service to ui category
2022-11-24 16:28:10 -05:00
Bill Wallace
abd75b0ba1
feat(datasourcename):Allow specifying the datasourcename as a parameter (#3029) 2022-11-22 09:09:24 -05:00
Alireza
bbfdda7fe7
feat: enhanced notifications and toolbar hover states (#3032)
* fix: button hover state and overlay colors in tmtv

* fix: styles for notificaionts
2022-11-21 22:35:25 -05:00
HarmvZ
be6b8629be
fix: Correctly ignore directories in webpack config (#3025) 2022-11-21 17:46:55 -05:00
Alireza
87eab39768
fix: remaining bugs for MPR and toolbar icon colors (#3026)
* 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
2022-11-21 10:44:19 -05:00
Michael Andersen
ccf010c0fe
feat: DicomTagBrowser tool (#2975)
* init bring v2 tag browser to v3, some small bug fixes

* moved tag browser to default extension, altered style to be more OHIF-v3-like

Co-authored-by: Michael Andersen <Michael.Andersen@rmp.uhn.ca>
2022-11-16 22:16:12 -05:00
Alireza
83ea228d86
feat: Add DICOM SEG support and MPR, referenceLines and StackSync and more (#3015)
* 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>
2022-11-16 14:19:52 -05:00
wangxuan
08c58b0634
fix: deprecated syntax of lower substr (#3013)
* fixed import error syntax

* replace lower.substr with lower.substring

* remove redundant parameter

* fixed import syntax error

* fixed import syntax error
2022-11-10 13:29:55 -05:00
Alireza
3d0d09e1bc
fix: add the quotation exclusion for accept header for our configs (#3006)
* fix: revert the quotation inclusion for accept header to be off by default

* changed all configs
2022-11-04 09:01:34 -04:00
Bill Wallace
2507a4b546
feat: Display series specified by URL parameters in viewer (#2979)
* WIP

* WIP

* WIP

* fixed Bill comments on PR - https://github.com/OHIF/Viewers/pull/2979

* added series number to series filter and removed extra console.log

* changed the filter of seriesFilterKeys to studyFilterKeys

* changed the seriesInstaceUID to SeriesInstanceUID to make coerence with StudyInstanceUID

* reverted change on extension retrieveMetadataLoaderAsync and make the right change on Mode.tsx

* fixed PR comments and add small information about the filters

Co-authored-by: Thomas Forster <thomasforster@MacBookPro-Thomas.local>
2022-10-25 10:20:32 -04:00
md-prog
dcf3fdbed3
dcmjs package reference upgraded to 0.28.3 (#2978)
Just a package version upgrade.
2022-10-14 14:48:14 -04:00
md-prog
b93067b6a2
feat: Annotation and Measurements support on multi-frame DICOM (#2973)
* 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)
2022-10-13 11:07:56 -04:00
Michael Andersen
1d47f31738
feat: Add logout for oidc (#2840)
* add oidc logout route, button in menu

* removed old comments

* use local storage to trigger signout in other tabs

* refactored to make use useEffect

* cleaned up comments

* fix remove event listener

* moved remove leftover storage variable to beginning of usemount

Co-authored-by: Michael Andersen <Michael.Andersen@rmp.uhn.ca>
2022-10-06 22:40:16 -04:00
Bill Wallace
e401358887
fix(hp): Make the updated hanging protocol compatible with modes (#2971)
There had been a change made to make the hanging protocols
auto initialize, but that caused problems on mode init
because the couldn't specify the hanging protocols any longer.
THis change restores that, and also improves the API a little
bit by allowing the display set selectors to be specified by id
instead of positionally.

fix(hp):PR Review Comments

fix(hp):Unit test and docs
2022-10-05 08:32:54 -04:00
Alireza
5f480ff746
feat: explicit layout apply via HangingProtocolService (#2936)
* feat: add more types to HP service

* change hp to have apply protocol

* feat: mpr initial work

* apply protocol by id

* feat: mode should be able to apply protocol directly

* fix: wrong inheritance for viewports drag and drop

* apply review comments
2022-09-20 23:40:26 -04:00
Bill Wallace
3900e62641
fix(datasource): configurability of additional data source extensions (#2931)
* feat(dataSource):Support more than one data source type.

* Add consumer type
2022-09-20 11:05:26 -04:00
Alireza
55a1704e4a
feat: upgrade tailwind to version 3 (#2933)
* initial upgrade commit for tailwind

* fix: inconsistensies in button

* fix: various places with conflicts

* final fixes

* fix: dialog header color

* apply review
2022-09-19 20:02:53 -04:00
Ouwen Huang
6e3dc1e9d9
fix: enabled multiple studies in local mode (#2889) 2022-09-08 22:18:17 -04:00
Bill Wallace
0090605cf7
fix: various type issues and error handlings (#2831)
* fix(error):Fix a few error conditions, mostly around seriesNumber

* apply few fixes
2022-09-08 22:09:28 -04:00