Commit Graph

1098 Commits

Author SHA1 Message Date
Igor Octaviano
b684d80426
fix(DicomTagBrowser): Fix parsing problems that was limiting nested tags rendering (#3306)
* fix(DicomTagBrowser): Fix parsing problems that was limiting nested tags rendering

* Added a progress indicator when switching to a list of more than 1000 rows.

* Switched to using react-window to virtualize the dicom tag browser window.

* Added filtering to the DICOM tag browser with a new search UI widget.
Lots of tweaks and updates to the look-and-feel.

* Removed unused import.

* PR feedback including some UI tweaks.

* More PR feedback.

---------

Co-authored-by: Igor Octaviano <igor.octaviano@radicalimaging.com>
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2023-05-26 11:42:25 -04:00
Joe Boccanfuso
685520acab
feat(command): Added command and hotkey binding for navigate to next and previous display set. (#3409)
* fix(command): Added command and hotkey binding for navigate to next and previous display set.

* Centralized the sorting (function) of display sets since at least three
areas sort display sets: hanging protocols, study/thumbnail browser and
updateViewportDisplaySet command.

* Renamed some methods for clarity.

* Scrolling active thumbnail into view for an updateViewportDisplaySet

* Added a null check.

* Added check to minimize thumbnail scrolling.
2023-05-23 15:03:55 -04:00
Joe Boccanfuso
52eb0edd6f
fix(dicomlocal): navigate /local to the work list and /localbasic to the (basic) viewer (#3389)
* fix(dicomlocal): navigate /local to the work list and /localbasic to the (basic) viewer
For TMTV, consider both the forward and back slash separator for modalities.

* Fix to TMTV isValidMode method.

* PR feedback:
- replace forward slashes with back slashes for modalities in the WorkList instead of in the Mode.

* Added query.series to DicomLocalDataSource.
2023-05-15 16:23:53 -04:00
Ashish Narnoli
af8bb27575
feat: query string dynamic app config (#3391)
* feat: query string dynamic app config

* fix: bug fix and couple of very small improvements
2023-05-15 14:52:48 -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
Alireza
84cb709b44
feat(panel and auth): fix study panel to not rely on priors and add token param to url (#3381)
* fix: multiframe

* fix the unnecessary use of prior since some servers dont like it

* add authentication via token in url

* add data citation

* add resources

* upgrade packages

* yarn lock

* apply review comments
2023-05-11 10:01:33 -04:00
Joe Boccanfuso
8eaa1877fd
fix(DICOM PDF and Video): fixes for local DICOM load and remote data sources (#3374)
* fix(DICOM PDF and Video)
- added retrieve.directURL for local DICOM load data source; it returns a data URL
- fixed various checks for video using transfer syntaxes and SOP class UID with number of frames
- added call to 'rendered' endpoint for those data sources that support it; others get BulkDataURI

* Added DOC (PDF) and OT (for video in particular) to list of non-image thumbnail modalities.

* Fixed broken e2e tests.
2023-05-10 12:42:48 -04:00
Pedro H. Köhler
285dff31c5
chore(packages): bump deps to fix vulnerabilities (#3366) 2023-05-08 14:04:39 -04:00
David Smith
0e3491d6bb
feat(proxy datasource): JSON server configuration launch (#2791)
* feat: delegating dicom web proxy datasource

* fix: configurably allow WADO image loader to issue preflight OPTIONS request

* Added documentation and fixed up some error handling from PR review

* review comments changes

* another small code review fix
2023-05-01 12:58:53 -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
Joe Boccanfuso
66f6e3eade
feat(DICOM Upload): Added new DICOM upload dialogue launched from the worklist page (#3326)
* 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.
2023-04-28 16:13:47 -04:00
M.D
075008c674
feat(microscopy): add dicom microscopy extension and mode (#3247)
* skeleton for dicom-microscopy extension

* skeleton for microscopy mode

* [feat] ported @radicalimaging/microscopy-dicom to OHIF's default extension

* [feat] ported microscopy mode from private repo

* added new definitions to the package.json

* webpack configuration update for microscopy extension

* register new icons for microscopy tools

* fixes to the microscopy extension and mode

* trivial error fix - typescript type import error

* link microscopy extension with default OHIF app plugin config

* demo config fix

* fix logs

* remove unsed imports

* [fix] loading of microscopy

* [fix] webworker script loading, normalizing denaturalized dataset

* found the latest version of dicom-microscopy-viewer that works with current OHIF extension : 0.35.2

* hide thumbnail pane by default, as we have issues with

* comments

* remove unused code

* [feat] microscopy - annotation selection

* [feat] microscopy - edit annotation label

* wip

* [bugfix] dicom-microscopy tool

* [bugfix] dicom microscopy annotations

* [fix] mixed-content blocking caused by BulkDataURI

* [fix] microscopy measurements panel - center button

* [fix] microscopy measurements panel - styling

* [fix] microscopy - controls

* fix local loading of microscopy

* fix local loading of dicom microscopy

* fix typo - indexof to indexOf

* [fix] remove unused icons

* remove commented out lines from webpack configuration

* platform/viewer/public/config/default.js - revert accidental changes

* [refactor] redirecting to microscopy mode on Local mode

* attribution to DMV and SLIM viewer

* [fix] code review feedbacks

* fix thumbnails

* [fix] microscopy - fix old publisher.publish() to PubSubService._broadcastEvent()

* [fix] interactions, webpack config, roi selection

* [feat] microscopy - remove select tool  from UI

* microscopy author

* [fix] saving and loading SR

* [bugfix] - missing publish() function in MicroscopyService, replace with _broadcastEvent

* remove author section from readme

* refactor SR saving feature

* fix webpack config after merge

* [bugfix] repeated import

* fix e2e

* webpack configuration

* hide "Create report" button for microscopy
2023-04-27 20:53:52 -04:00
Joe Boccanfuso
51cb0519fc
fix(Browser history): fixed NPE when navigating a study via browser history and history navigation is now available via the navigateHistory command (#3337)
* fix(Browser history):
- fixed an NPE when navigating to a different study via the URL
- exposed browser history navigation via a command

* Added documentation for the navigateHistory command.
Moved the history object from UI to viewer.
2023-04-27 10:46:23 -04:00
Alireza
eea0ed487b
feat(dicomImageLoader): replace wado image loader with the new library (#3339)
* use new dicom image loader instead of cswil

new dicom image loader fails

update dicom image loader

update yarn lock

modify webpack

* update webpack

* fix webpack

* update package versions

* update package versions
2023-04-26 20:55:56 -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
c508a2b6bc
feat: Add a new hanging protocol @ohif/mn (#3305)
* feat: Add a new hanging protocol @ohif/mn

* Add @ohif/seg example

* PR comments and a couple more fixes to make things cleaner

* PR comment

* Added an example to cause the PR checks to rerun
2023-04-18 11:55:25 -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
M.D
47c25f4364
feat(measurements): add CircleROI Tool (#3211)
* [refactor] measurement service mapping files - rename to .ts files

* [fix] RectangleROI - measurement service mapping _getReport() function - tool name fix

* [feat] added CircleROI tool from updated cornerstone3D

* [refactor] fix for typescript strong typing warnings

* [feat] cornerstone-dicom-sr extension - added CircleROI tool

* [feat] added toolbar button for CircleROI tool

* [doc] doc updates for CircleROI tool

* [update] library - dcmjs to 0.29.5

* [fix] roundNumber() function when given strings

* [fix] refactor after upgrading conerstonejs library 0.49.0

* yarn.lock file change
2023-04-17 08:23:03 -04:00
Bill Wallace
50ed96ff73
feat(URL): add param for initial series and sop uids to display (#3265)
* feat: Allow navigating to a specified series and sop instance

This was a feature in OHIF v2, so adding it to v3, albeit with new
parameters.

feat: Allow comma separated as well as repeated args params

* docs

* Test fixes

* feat: Navigate to SOP selected - PR fixes

* Updated docs

* PR fixes
2023-04-05 12:59:56 -04:00
rodrigobasilio2022
226244a26c
feat(multiframe): enhanced support for multiframe dicom (#3164)
* Changes in cswil version and multiframe

* Minor changes

* wip

* Adding support for NM multiframe images

* Applying PR suggestions

* fixing package versions

* Restoring default.js config file

* Check if NM subtype is reconstructable

* Restore default.js values

* refactore code

* feat: add flag for strict zspacing

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-03-31 22:21:16 -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
ca3b83b2b6
feat(tmtv): add more stages to pt/ct (#3290)
* feat(tmtv): add more stages to pt/ct

* make error stage change to info

* apply review comments
2023-03-30 10:01:48 -04:00
Joe Boccanfuso
d5ff590dfc
feat(DoubleClick): double click a viewport to one up and back (#3285)
* 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.
2023-03-29 15:39:51 -04:00
Bill Wallace
b2128976a3
Fix/hp validate match offset 2 (#3279)
* fix: Validate provided display sets other than 0

* Build fix
2023-03-28 11:18:33 -04:00
Bill Wallace
8e9d7bd2bb
feat(findingSite): Allow customizing the measurement panel and show site/finding (#3155)
* feat: Allow customizing the measurements panel.

Also includes default display of the site/finding values from the DICOM
SR object.

Update fixes

PR review comments - move the recordInteraction to COmmandsManager.run

PR fixes

fix: Dependency updates to allow right click to be recognized

PR fixes

* Use newer CSWIL

* Make both the base measurements and the tracking measurements show codes

* Fix the right click context menu bringing up menu
2023-03-24 16:45:21 -04:00
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
5ad5bd232d
fix(tmtv): hanging protocol state sync (#3269)
* fix: TMTV mode and message on drag and drop/toggle MPR

* Tweaked some packages to force a rebuild
2023-03-21 14:25:56 -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
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
md-prog
e4e62e9e14
feat(customizableOverlay): Add customizable overlay info (#3061)
* overlay customization

* custom overlay definition and examples

* minor fix - import statement difference between cornerstone and cornerstone3D

* move "VOI" and "Zoom" calulation to the ViewportOverlay component, make OverlayItem fairly dull

* type specifications

* follow up fixes for CustomizationService changes on upstream

* [fix] various fixes related to custom overlays (formatting, toggling)

* [fix] various fixes related to custom overlays (formatting, toggling)

* right side overlay panels - align right

* [fix] remove "notification" from toggleOverlay command

* comments

* [refactor] remove unused imports

* documentation of customizable overlay configuration

* prettify

* review of documentation of customization service

* fix useCallback() dependencies

* fix useCallback dependencies

* documentation for customization service

* documentation for customization service
2023-03-09 17:12:08 -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
ae4183852f
fix: Patient name handling as either Alphabetic object or simply string object
- formatPN should accept a string person name as well as an object with a Alphabetic field.
- For DICOM JSON data sources, spread in the patient data from the study object into the instance.
2023-02-16 13:50:59 -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
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
0e1a58da79
fix: Use @cornerstonejs/adapters (#3116)
Also update the sort series to be consistent, using a single version of the series sort, and fix an issue with longitudinal mode export.
2023-02-06 17:05:13 -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
Joe Boccanfuso
58ae8690a7
fix: Clicking on measurement should highlight the measurement row in the measurement panel OHIF-433 (#3111)
* 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
2023-01-13 13:57:18 -05:00
Joe Boccanfuso
9b0d542526
fix: rework inconsistencies in split button implementation(#3086)
* 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>
2023-01-06 15:00:23 -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
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
Michael Andersen
2a9e1e65a2
fix: dicomTagBrowser re-render when series changes (#3054)
Co-authored-by: Michael Andersen <Michael.Andersen@rmp.uhn.ca>
2022-12-01 14:17:37 -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
Zaid Safadi
d5e00817d7
fix: update DicomJSONDataSource to support directURL method (#3018) 2022-11-21 16:40:52 -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
Alireza
6db4d7a917
fix: ui for dicom tag browswer (#3022)
* fix: ui for dicom tag browswer

* fix build
2022-11-16 22:35:23 -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
eddd510a35
feat: enhanced error handling ui (#3021)
* feat: better error handling

* better error handling

* try to fix netlify build

* remove new line
2022-11-16 20:27:24 -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
Bill Wallace
7dc9b3549f
fix(viewer): View two or more specified studies (#2815) 2022-11-03 16:57:32 -04:00
TFRadicalImaging
6698300ace
fix: Display series specified by URL query parameters in viewer (#3000)
* Changed the static wado filter to allow filtering for series before start make requests of the entire metadata

* fixed first filter to use studyFilterKeys

Co-authored-by: Thomas Forster <thomasforster@ip-192-168-68-104.eu-west-2.compute.internal>
2022-11-01 18:25:49 -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
Ouwen Huang
1bcc9ccd89
feat: added default close option to viewer layout for sidebar ui (#2961) 2022-09-28 15:46:58 -04:00
Ouwen Huang
c9818d9fc5
fix: sop class handler isSingleImageModality always undefined (#2948) 2022-09-21 09:54:29 -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
Ouwen Huang
fb9744a817
feat: added rows column props to LayoutSelector (#2945) 2022-09-20 17:43:23 -04:00
Bill Wallace
ff24b57a4b
feat: Multiframe metadata provider (#2938)
* fix(volume):Support volume viewing

* fix(multiframe):Display multiframe US, and multiframe PR fixes

* fix(metadataProvider):Don't call combine if frame not defined
2022-09-20 14:47:18 -04:00
Ouwen Huang
6e3dc1e9d9
fix: enabled multiple studies in local mode (#2889) 2022-09-08 22:18:17 -04:00
Bill Wallace
e1d366e1e1
feat: make hanging protocol work on displaySets instead of series (#2837)
* 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>
2022-09-07 11:59:11 -04:00
Alireza
10b4ed5f8c
feat: new Total Metabolic Tumor Volume tmtv (#2866)
* 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>
2022-08-17 15:13:59 -04:00
Erik Ziegler
bd1c38c00c
feat: cornerstone3D stack and volume viewports (#2787)
* 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>
2022-07-27 12:39:04 -04:00
Alireza
7f0ad6f84d
feat(cli): Ohif cli for modes and extensions modification (#2696)
* feat: Add initial cli tool structure

* feat: add copying template files

* feat: Add mode template and command

* feat: Add readme template generation

* feat: Add documentation to extension template

* feat: Enhance documentation of the template mode

* fix: cli module type

* feat: Add config-based mode and extension registration (#2660)

* feat: Add ohif cli add/remove extension/mode (#2661)

* Basic working CLI for add-extension and remove-extension

* Basic cli for add/remove extension/mode, lots more to do.

* Cleanup and harden]

* feat: Add list of tasks to add-mode

Co-authored-by: Alireza <ar.sedghi@gmail.com>

* feat: Add git initialization for the mode or extension template (#2662)

* fix: package json file to include templates

* feat: Add git initialization for the mode or extension template

* feat: Add more checks of git and target dir

* feat: refactore library utilities

* feat: Add the list command to print extensions and modes (#2664)

* feat: Add the list command to print extensions and modes

* Add todo

* Feat/ohif cli validation + auto install (#2671)

* WIP

* Working mode keyword verification

* Validation

* auto install extensions based on modes

* WIP remove unused extensions on removeMove

* Working add-mode, remove-mode automatic extension management.

* If extension is in used by a mode, don't allow the CLI to uninstall it

* Cleanup addExtension

* cleanup removeExtension and addMode

* Cleanup removeMode

* Update existing extensions with the needed keywords/peer deps

* Fix broken config

* Feat/cli search (#2677)

* feat: refactor pretty print for console

* feat: add search for modes and extensions

* fix: ugly colors

* Feat/ohif cli error handling publishing (#2679)

* WIP

* fix: webpack imports

* wip

* fix: react router dom private routes

* from last commit

* wip

* fix: webpack prod builds

* WIP

* Working regsitration with new IDs

* Stable

Co-authored-by: Alireza <ar.sedghi@gmail.com>

* verify extensions when constructing modes. (#2681)

* verify extensions when constructing modes.

* Add version to unit tests so it conforms to schema

* Update ohif utils exposed via @ohif/core

* Fix import

* fix tests

* feat: ohif-cli link local modes/extensions for development (#2682)

* feat: enable cli to work with project root

* feat: add initial link package

* feat: add link and unlink extension

* feat: add link and unlink mode

* erro handling for link-package

* feat: add comment on ohif-cli linking for development (#2686)

* Docs/ohif cli (#2687)

* feat: Add documentation for templates

* feat: Add more documentation

* Fix/core publish (#2685)

* versions

* wip

* remove webpack clean output

* fix publish

* use next as dist tag for v3 for now

* fix webpack pro recipe for output

* fix: lerna publish next

* fix(cli): fix issues when trying to link an extension or a mode (#2725)

The generated package.json doesn't contain keywords property which is
required by the linkPackage function. The module apth wasn't correclty
handled too, and when there is no pluginOptions, it fails while reading
the file or while generating a default configuration.

* make dicom pdf and video work after cli merge

* add axios dependency

* comment out the chdir for now

* create id and version based on user inputs

* customizable path for extension and modes

* fix template to make the template mode load

* fix the questions to loop if path is not desirable

* fix templates

* correct package json order

* unify the package creation for extension and mode

* bump versions for each package

* bump extension versions to 3.0

* add gitignore to templates

* fix version requirements when ^

* update docs

* update docs and fix tests

* try to fix the tests

* bump node version

* remove the version from extensions

* remove the version from modes

* remove version from extensionManager

* fix eslint

* revert husky version

* fix eslint

* fix node version for new eslint

* fix documentatoin removing version

* fix cicle ci image version

* fix circle ci node image

* fix circle ci node image

* add back the video and pdf

Co-authored-by: Matthis Duclos <matthis.duclos@gmail.com>
Co-authored-by: James A. Petts <jamesapetts@gmail.com>
2022-04-06 13:28:42 -04:00
Bill Wallace
82df3eac03
feat(PDF):Add PDF viewer (#2730)
Display DICOM encapsulated PDF documents in a PDF viewer.
Addressed the remaining PR comments, and am merging this.
2022-04-04 09:48:14 -04:00
Bill Wallace
f3822f98a3
Fix palette colour display in OHIF v3 (#2731)
* fix(OHIFv3):Fix palette colour data display

* PR comments - added params description
2022-03-11 11:18:56 -05:00
Matthis Duclos
6c9b5ca10c
fix(dicom-json): Series metadata retrieve (#2726)
There was a typo in DicomJSON datasource to retrieve metadata. This was
causing an error in Mode.jsx (line 52)
2022-03-01 08:51:34 -05:00
Bill Wallace
ca9ed62a5f
feat(OHIF):Add DICOM Video Display
* feat(OHIFv3):Add a video viewport

* Fixed a couple of viewing issues

* fix(OHIF):If not all instances are used by a given provider, then continue to add items

* Added video data

* Add a basic e2e test for video display

* Adding a screen shot as requested
2022-02-24 11:55:12 -05:00
Alireza
73aa738c48
fix: dicomLocal dataSource metadata typo (#2717) 2022-02-21 12:51:15 -05:00
Alireza
5c8ee7f906
feat: OHIF-v3 UI Component Library (#2653)
* wip on storybook as a replacement for using UI components in docusaurus, since it causes too many problems

* fix: storybook webpack config

* feat: add more stories

* feat: add more stories

* feat: add more stories

* feat: fix logo and babel runtime error

* feat: move to mdx docs for ui

* feat: enhanced mdx for header and styles

* feat: Add button usecases

* feat: Add buttonGroup docs

* feat: Add docs and use case to cine and contex menu

* feat: fix decorators

* feat: add header and dropdown docs

* feat: add Icon and input docs

* feat: add more docs

* feat: add more stories

* fix: feedback section

* feat: Add doc page

* feat: Add typography and color stories

* yarn lock

* add analytics to v3-ui

* new banner image

* new viewport component

* update review comments
2022-02-10 14:08:34 -05:00
James Petts
509c41fbab
fix: retrieveSeriesMetadata (#2703) 2022-02-08 08:17:37 -05:00
Bill Wallace
0e2c31939c
feat(OHIFv3):Add static e2e data (#2665)
This change wraps the E2E test data into a github repository, which is then included in the test builds as static data.
That makes running the e2e tests as simple as:
yarn test:e2e:server
yarn test:e2e

without any need to have docker etc installed/running.
2022-01-31 14:29:20 -05:00
Bill Wallace
84d9ec34fc
fix: Static wado query failing to match modalities in … (#2606)
* fix(OHIFv3):Fixed a static wado query failing to match modalities in study

* fix(OHIFv3):Query the study results locally against complete list

The static wado code currently always returns a full study list of all
studies available.  To support the client functionality, query the list
locally so it only returns the matching elementns.
2022-01-14 15:28:59 -05:00
Alireza
987eceb40a
fix: dicom json launch and documentation (#2642)
* fix: typo in metadataProvider class name

* docs: Add dicom-json documentation

* fix: documentation with s3 links
2022-01-10 21:27:24 -05:00
Bill Wallace
277c3bf419
fix: Overlays were broken. (#2614)
* fix(OHIFv3):Overlays were broken.

Adds a retrieveBulkData to elements containing BulkDataURI so that
anyone display the data can retrieve the required information.

* fix(OHIFv3):Added a call in the wrong spot, removed it.

* docs(OHIFv3):Added some documentation as requested
2021-12-23 11:28:46 -05:00
Erik Ziegler
3c9f3cb273
feat: Update to WADO Image Loader 4.0.3 to add dynamically imported WebAssembly codec support 🚀 (#2538)
* feat: update to prerelease of WADO Image Loader, add copy plugin to pull dist/dynamic-import into OHIF

* fix: Set empty public path

* perf: Add webpackPrefetch tags to lazy loaded components

* Switch to using webpack alias to use dynamic import version of WADO Image Loader

* fix lockfile

* prevent polyfilling zlib

* bump to wado image loader 4.0.3 with fix for public path
2021-09-24 09:06:52 +02:00
Alireza
898f93e19d
fix: qido wrongly using wado config (#2544) 2021-09-13 15:08:59 +02:00
Erik Ziegler
00d7192423 docs: Remove UI components for now, we will use Storybook instead later. Clean up links and introduction. (#2520) 2021-08-24 17:53:03 -04:00
Bill Wallace
2327b4ae12 feat: Add Static WADO display (#2499)
* Rebased to have just the static view changes

* Changes based on the PR

* Couple more changes for the PR

* Removed an extraneous log

* Fix the study worklist display when returning to the page

* Added some documentation on the static wado data source setup, and a
bounds check change on the Queue test which was failing

* PR updates - change the undefined study description to '' and remove the aws deploy

* Fixed the e2e tests to actually pass/fail correctly on actual results
2021-08-24 17:53:03 -04:00
Erik Ziegler
eff70ae22c
fix: setting hotkeys was broken (#2496) 2021-07-29 21:57:58 +02:00
Erik Ziegler
9b013dd38d fix(tailwind): Missed some changes when upgrading to tailwind 2.x 2021-07-29 15:51:53 +02:00
Erik Ziegler
ff28a2264b fixes for hotkeys usage in docusaurus 2021-07-21 12:58:15 +02:00
Erik Ziegler
7a9f113b91
Merge branch 'feat/v2-main' into feat/v2-main-docusaurus-netlify-monorepo 2021-07-20 15:55:21 +02:00
Alireza
3dec7cfcda
fix: Address various layout and prompt bugs (#2472)
* fix: layout should not reset when opening a new study in studyBrowser

* fix: added state to handle ignored SR series for hydration
2021-07-19 14:31:40 +02:00
Alireza
042dbb13b4
Fix: Google cloud config and tooltips (#2471)
* fix: google cloud config and tooltips

* fix: version number

* fix: cine player commandOptions
2021-07-16 13:32:51 -04:00
Erik Ziegler
d6877cfcf9 add react-docgen to provide props tables for UI component library 2021-07-15 00:04:36 +02:00
Erik Ziegler
97805df68c reorganization to support SSR for component library in docusaurus 2021-07-14 15:26:06 +02:00
Erik Ziegler
825e13bcf3 chore: Upgrade to webpack 5, fix conflicting issues with react-router under docusaurus with yarn workspaces 2021-07-08 15:23:09 +02:00
Alireza
f5ecc753f7 fix: hotkeys editing in user preferences 2021-07-08 10:09:20 +02:00
Alireza
70e4c55920 feat: Add error handler to CWIL 2021-07-08 10:04:23 +02:00
Erik Ziegler
e7b32cc51e
feat: Support for OpenID Connect (#2431)
* 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
2021-06-23 20:41:27 +02:00
Alireza
1bf651e763
feat: Added support for i18n (#2439)
* Added translation for various react components in OHIF-v3

* Added a test language for debugging- test-LNG 

* Added copy for test language to not get overwritten
2021-06-15 10:56:33 -04:00
Alireza
fdb6ca41d6
feat: Support for local DICOM drag and drop (#2445)
* Added drag and drop from local and local data source

* fix: dicom SR drag and drop from local
2021-06-15 10:19:45 -04:00
Erik Ziegler
99b8dc4759
feat: Add White Labelling, Hanging Protocols, and tons of Extensions / Mode fixes
* modified

* new files in existing extensions/libraries/modes

* fixed bugs and tests

* Clean up

* fix: viewport display fixed

* Fixed configs for deployment

* Removed unnecessary files and functions

* Fixed default HP module

* Added white labelling

* Fixed hash routing

* Removed unnecessary routers

Co-authored-by: Alireza Sedghi <ar.sedghi@gmail.com>
2021-05-28 14:32:48 -04:00
Erik Ziegler
0db81b30f3
chore: Clean up unused files, imports, and work on getting end-to-end tests and unit tests running (#2272) 2021-03-01 16:52:54 +01:00
James A. Petts
414ebc6850 chore: Tag everything currently unused as legacy. 2021-02-11 17:29:07 +01:00
Danny Brown
2fc7169fa4
fix/chore: Various style improvements (#2015)
* 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

* fix: viewport grid area top padding should align with sidepanel gap

* fix: don't wrap split button list item text

* fix: cine player moz/chrome styles

* fix: split button arrows

* fix: tighten toolbar and splitbutton styles

* chore: clean up worklist sort logic
2020-09-21 10:42:53 +02:00
Danny Brown
cae54b0779
Fix/update branch cherry pick (#2039)
* 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
2020-09-14 21:18:46 -04:00
Igor Octaviano
8638830d15
OHIF-329: Increase fetch limit when paginating more than 101 studies (#1985)
* ohif-329: increase fetch limit when paginating more than 101 studies

* ohif-329 cr update: use offset approach

* ohif-329: remove logs

* ohif-329: add comment

* ohif-329: use cachemap approach

* ohif-329: update total calculation

* fix: settings/about menu should appear over study list filters

* fix: about menu positioning for viewer template

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-08-19 23:12:10 -04:00
Igor Octaviano
db39cc2fde
OHIF-298: Fix dropdown color in win browsers (#1981)
* ohif-298: use new select in pagination

* ohif-298: add menu placement

* ohif-298: update border

* ohif-298: fix sticky menu

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-08-19 16:17:05 -04:00
Igor Octaviano
8cea1a04d6
OHIF-333: Split Button (#1988)
* ohif-333: add component foundation

* ohif-333: add expandable content and mocked data

* ohif-333: improve ListMenu component for the new toolbar button and add radio behavior

* ohif-333: add click outside behavior and update primary and secondary props

* ohif-333: separate classes from markup

* ohif-333: fix layout issues

* ohif-333: extract window level component

* ohif-333: update component returns

* ohif-333: update chevron thickness

* ohif-333: remove is active prop

* Delete lerna-debug.log

* ohif-333: clean toolbar and use example in ui package

* ohif-333: update styles to avoid word break

* ohif-333: fix ui package build

Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-08-19 15:49:00 -04:00
James Petts
68332701ab
[OHIF-309] - Users should be able to delete an SR from the side panel when the behavior is supported by the data source (#1952)
* Remove trailing zeroes from patient age

* WIP reject + remove displaySet.

* ohif-316: Update DICOM SR thumbnail design to include a delete action (#1948)

* add "supportsReject" to netlify config

Co-authored-by: Igor Octaviano <igoroctaviano@gmail.com>
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-08-19 15:27:34 -04:00
Igor Octaviano
760e2a62ae
OHIF-323: Cine Dialog (#1961)
* ohif-323: add cineplayer flow

* ohif-323: improve toolbar flow of cine

* ohif-323: improve cine styles

* ohif-323: use toggle instead of set

* ohif-323: add compatibility comment

* ohif-323: move cine logic to command

* ohif-323: cr update

* ohif-323: remove typo and update svg title

* ohif-323: remove log

* ohif-323: update props and remove dead code

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-08-19 15:24:07 -04:00
Igor Octaviano
3e944780dc
OHIF-332: Users should be able to see all available hotkeys and language settings in one place (#1895)
* OHIF-330: Update Modal Styles

* feat/ohif-332: finish raw ui

* feat/ohif-332: update mode configuration strategy

* feat/ohif-332: fix hotkey errors

* feat/ohif-332: update hotkey logic with recent merged changes

* feat/ohif-322: wrap

* feat/ohif-322: add disable state

* ohif-332: cr updates

* ohif-332: disable

* ohif-332: cr updates

* ohif-332: extract header component

* ohif-332: cr update to fix merge conflicts and design issue

Co-authored-by: Rodrigo Antinarelli <rodrigoantinarelli@gmail.com>
2020-08-19 15:02:59 -04:00
Erik Ziegler
ae3d05ebf7
OHIF-276: Fix UI performance issues related to ToolbarService (#1969) 2020-08-17 10:19:12 +02:00
Igor Octaviano
e04f74499f
OHIF-301: Add sorting to worklist series (#1960)
* ohif-301: add sorting to work list series

* ohif-301: clearadd series date to qido

* ohif-301: add series date to qido

* Update qido.js

Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
2020-08-11 21:01:48 -04:00
James Petts
58c2c00663
Fix caching issues with related studies. (#1970) 2020-08-06 17:25:42 +02:00
Erik Ziegler
55cf9f2306
OHIF-285/OHIF-274: Fix default hanging of display sets into the ViewportGrid (#1917)
* OHIF-285/OHIF-274: Fix default hanging of display sets into the ViewportGrid

Co-authored-by: James A. Petts <jamesapetts@gmail.com>
2020-07-24 11:51:57 +01:00
James Petts
a4f286feee
[OHIF 284] - JumpToMeasurement + prevent layout change on scroll Prevent layout change on scroll (#1889)
* 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>
2020-07-22 19:40:40 +02:00
James Petts
3eba027003
[OHIF-288] Rehydrating SRs is missing Labels (#1885)
* WIP

* Finish OHIF-288, need to update dcmjs.

* Remove unused copied resources.

* Cleaned up label import code.

* Update for dcmjs Findings -> Finding.

* Update dcmjs

* Remove debuggers

* Respond to reviewer comments.

* update dcmjs version

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-07-10 15:11:22 -04:00
Igor Octaviano
8d61e3ae4c
OHIF-8: Pass fuzzymatching option from config (#1837)
* Add fuzzmatching property

* Update param

* Add wildcards
2020-07-10 11:59:29 -04:00
Igor Octaviano
11fbe4cf01
OHIF-223: Add "Clear" all measurements to annotation toolbar (#1861)
* Add clear button

* Use james event

* Create new commands module to default
2020-07-03 12:39:41 -04:00
Igor Octaviano
920c3e9455
OHIF-149: Apply default sort of Study Date descending (most recent -> oldest) when < 101 studies (#1850)
* Add dynamic default sorting

* Use different approach to sort

* Switch strategy to one that works even when filters are applied, but sort is not (there is no dicomweb sort/orderby)

Co-authored-by: dannyrb <danny.ri.brown@gmail.com>
2020-07-02 22:23:42 -04:00
Igor Octaviano
a156eadcb7
OHIF-208 (#1842)
* Set measurement as active

* Add basic dialog component

* Update styles and prop types

* Jump to image

* Update dialog

* Format date

* Update summary to use primary modalities

* delete empty studySummary page

* add missing PropTypes import

* fix for accidental sync'd viewports

* CR Updates

* CR Update avoid cache of measurements

* Use get measurement

* Add comment to edit function

* Remove request and merge modalities from series

* Update dependency: react-cornerstone-viewport@2.3.9

react-cornerstone-viewport
  * @ohif/extension-cornerstone: 2.3.8 → 2.3.9
  * @ohif/extension-dicom-sr: 2.3.8 → 2.3.9

* Update extensions/measurement-tracking/src/panels/PanelMeasurementTableTracking/index.js

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>

* Add debugs

* remove console.debug

* Update frameindex to imageindex

* Use new rcv debounced function

* Fix hovering

* Update dialog text

* Dismiss dialogs on esc

* Update dependency: react-cornerstone-viewport@3.0.0

react-cornerstone-viewport
  * @ohif/extension-cornerstone: 2.3.9 → 3.0.0
  * @ohif/extension-dicom-sr: 2.3.9 → 3.0.0

* OHIF-237

* remove console.debug

* Remove dead code brought in from rebase

* EmptyViewport should not display a message

* Remove more dead code from rebase

* fix variable naming

* remove unused hook

* bump yarn lock

* formatting

* Add arrow dialog

* Filter based on trackedSeries

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-07-02 16:53:38 -04:00
James Petts
801bf73a34
Update dcmjs to fix bidirectional issue. (#1848) 2020-07-02 10:56:36 +01:00
dannyrb
4b58d925d9 Use ImageViewer's StudyInstanceUIDs to set the initial/default list of expanded study ids 2020-06-30 22:08:41 -04:00
dannyrb
236b89a551 Make sure measurements table updates 2020-06-30 16:04:07 -04:00
dannyrb
eb0f38ebf2 Prevent default measurementpanel crash 2020-06-30 15:48:24 -04:00
James Petts
2c11609c55
OHIF-198 - Jump to thumbnail when a new displaySet is added (#1834)
* Viewport letter only in multi-viewport layout.

* If SliceThickness not available print N/A

* Create displaySet in local session on SR generation.

* Jump to thumbnail when a new displaySet is added with the madeInClient property.

* Check if scrollIntoView exists.
2020-06-30 16:27:35 +01:00
James Petts
eb8f3a63f2
OHIF-197 (#1833)
* Viewport letter only in multi-viewport layout.

* If SliceThickness not available print N/A

* Create displaySet in local session on SR generation.

* remove empty line

* remove console log

* Give storeMeasurements an onSuccess handler instead of always creating dataSets.

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-06-30 15:10:27 +01:00
igoroctaviano
38a92ae18d Fix broken solution 2020-06-29 16:12:42 -03:00
Danny Brown
0594525301
Merge pull request #1823 from OHIF/fix/minor-defects
fix: sort number of instances | format date in study panel
2020-06-29 12:45:56 -04:00
Danny Brown
aa402183f4
Merge pull request #1824 from OHIF/feat/ohif-125
OHIF-125: Error boundaries
2020-06-26 16:47:52 -04:00
Rodrigo Antinarelli
9145215596 move formatDate to ohif/core 2020-06-26 16:17:25 -03:00
Danny Brown
1931d45450
Merge branch 'feat/v2-main' into dannyrb/ohif-154/restore-command-functionality-for-toolbar 2020-06-26 14:26:35 -04:00
igoroctaviano
b34a9880f7 Use modal as default fallback 2020-06-26 14:47:18 -03:00
Rodrigo Antinarelli
a5170076db fix date format 2020-06-26 14:29:25 -03:00
dannyrb
3993c12701 Update dependents to use new exposed service 2020-06-26 13:28:30 -04:00
Rodrigo Antinarelli
0d53346d61 Merge branch 'feat/v2-main' of https://github.com/OHIF/Viewers into feat/ui-v2-Dropdown 2020-06-26 12:42:56 -03:00
Igor Octaviano
5180eb127d
OHIF-163: Patient Name is displayed in correct format "Last Name, First Name" (#1820)
* Add util to formatpn

* Format patient name in patient information tab
2020-06-26 15:11:00 +01:00
Igor Octaviano
1d8f5cfc42
Viewport grid load default as 1x1 and load first image of series by default (#1817) 2020-06-26 14:40:03 +01:00
James Petts
8f05cf73c7
Add authoring information to exported DICOMs using the DICOMWeb DataSource (#1819)
* OHIF-177 JSDocs.

* Add proxy for activeDataSource to extensionManager.

* Add app authoring information.
2020-06-26 10:24:19 +01:00
Danny Brown
0264e5998d
Merge branch 'feat/v2-main' into feat/OHIF-177 2020-06-25 16:17:50 -04:00
igoroctaviano
6eb474be88 Add active state 2020-06-25 16:51:48 -03:00
igoroctaviano
52521c5b56 Add active state 2020-06-25 16:49:46 -03:00
igoroctaviano
5d89460326 Merge branch 'feat/v2-main' of github.com:OHIF/Viewers into feat/ohif-151 2020-06-25 16:13:47 -03:00
igoroctaviano
3f0619848b Update code to avoid intercepting onclick 2020-06-25 16:03:06 -03:00
igoroctaviano
44297af965 Create window level dropdown menu 2020-06-25 15:27:42 -03:00
Rodrigo Antinarelli
3dc4cf6cea useCallback to avoid redeclaring functions 2020-06-25 14:08:09 -03:00
James A. Petts
74c1462271 Working local download, STOW to PACS an view in SR Viewport. 2020-06-25 17:21:03 +01:00
igoroctaviano
911f93d378 Update toolbar service and add active icon in nested button 2020-06-24 12:11:54 -03:00
Rodrigo Antinarelli
a19c1acd7b fix dropdown title 2020-06-24 01:27:02 -03:00
Rodrigo Antinarelli
db0ce2f6f7 minor fixes 2020-06-24 01:16:56 -03:00
Rodrigo Antinarelli
6ce531a6d2 fix icon dropdown 2020-06-23 23:40:45 -03:00
Rodrigo Antinarelli
9dbbc709f4 remove fragment 2020-06-23 23:22:57 -03:00
Rodrigo Antinarelli
8b2c68d1bf add i18n to header 2020-06-23 23:05:45 -03:00
Rodrigo Antinarelli
1441062d95 using dropdown and opening modal for preferences 2020-06-23 00:10:58 -03:00
dannyrb
be6a04684b Don't try and "getImageSrc" for datasets without imageIds (DICOM SR) 2020-06-16 23:02:16 -04:00
dannyrb
5eb06d0916 Wire up mode buttons to mode routes; Expose displayName; 2020-06-16 22:06:54 -04:00
dannyrb
33cee9e898 fix null dropdowncontent 2020-06-16 00:43:16 -04:00
dannyrb
140c562519 fix secondary toolbar styling 2020-06-16 00:00:47 -04:00
dannyrb
570424e3e9 Add support for LayoutSelector 2020-06-15 23:38:48 -04:00
James A. Petts
e7501933dd Pull in master 2020-06-15 09:23:35 +01:00
dannyrb
9146a9ee32 Create new ToolbarButton type for Layout Selector; wire up custom UI; prep for viewportGridService usage 2020-06-15 00:51:36 -04:00
dannyrb
8c1a844558 Nested toolbar w/ "sticky" when clicked 2020-06-14 23:42:44 -04:00
dannyrb
f70392a52a Change toolbarModule scheme and extensionManager 2020-06-14 21:18:29 -04:00
James A. Petts
c5e6e97980 Merge in feat/ui-v2-rebase-services 2020-06-11 17:26:38 +01:00
James A. Petts
2fc171e297 Enable non-thumbnail entries in thumbnail list. 2020-06-10 14:10:00 +01:00
dannyrb
0573cb18e6 Add support for SET_LAYOUT action on viewportGrid reducer 2020-06-07 11:48:13 -04:00
dannyrb
95249928a8 Replace measurementsPanel w/ a format that reduces nesting 2020-06-04 11:28:10 -04:00
dannyrb
c3dd2608b2 wire up some ActionBar data; default grid to 2x2 2020-05-27 08:56:52 -04:00
dannyrb
fae21bed9c Allow empty slots for rightPanels and leftPanels 2020-05-26 09:02:47 -04:00
dannyrb
7487cbb28c Hoist ViewportGrid context so UI Services can access/update it 2020-05-23 23:57:14 -04:00
dannyrb
c9a4ab13ef empty viewport, prevent duplicate series meta from add, protect broadcast events when no data has changed 2020-05-23 22:15:21 -04:00
dannyrb
3a78d313ac remove dead code 2020-05-23 20:48:09 -04:00
dannyrb
40a62b1329 hoist state for expanded studies; allow multiple open 2020-05-22 15:47:38 -04:00
dannyrb
7c1dcb53c2 hoist activeTab state 2020-05-22 15:33:07 -04:00
dannyrb
4a390bfb66 fix thumbnail persistence 2020-05-22 14:31:51 -04:00
dannyrb
23a94251fc map is not reactive 2020-05-21 20:51:48 -04:00
dannyrb
f87d18936e basic pub/sub refresh for tabs from displaysets from dicommetadata 2020-05-21 20:34:53 -04:00
dannyrb
1892ec2a2a fix incorrect argument to retrieve studies 2020-05-21 20:33:08 -04:00
dannyrb
715377c565 Move files around to confuse James and Erik 2020-05-21 16:24:35 -04:00
dannyrb
b5070dd518 Merge branch 'feat/ui-v2-rebase-services' of github.com:OHIF/Viewers into feat/ui-v2-rebase-services
# Conflicts:
#	platform/viewer/src/routes/Mode/Mode.jsx
2020-05-20 21:08:49 -04:00
dannyrb
a323157c62 capture changes 2020-05-20 21:07:25 -04:00
James A. Petts
a3e1c216c4 Working cornerstone tools buttons, needs UI updates + onClicks wrapped in toolbarService 2020-05-20 17:49:17 +01:00
James A. Petts
52d1b6276d Add in checks. 2020-05-20 12:59:10 +01:00
dannyrb
c3373357ee dropped item logs displaySetInstanceUID 2020-05-19 23:34:56 -04:00
dannyrb
591da12536 Drag and drop w/ dragSource + dragTarget w/o errors 2020-05-19 23:28:41 -04:00
dannyrb
1c33914e27 Display regular thumbnail; not tracked variant 2020-05-19 23:15:13 -04:00
James A. Petts
d83c868cdd Working, needs optimisation. 2020-05-19 18:22:38 +01:00
James A. Petts
940e745d8d WIP bring back thumbnails. 2020-05-19 15:02:03 +01:00
James A. Petts
cf0e88bd0b Rebuild study browser reactivity. 2020-05-19 14:56:25 +01:00
James A. Petts
f7ae544716 WIP, wrap command manager controls so we can pass these to the UI component. 2020-05-19 13:01:39 +01:00
Erik Ziegler
d54bd5738e WIP reorganization for study browser (again) 2020-05-19 13:55:38 +02:00
James A. Petts
156b9cfd09 Pull in upstream. 2020-05-19 10:04:42 +01:00
James A. Petts
6a3e0db53e ToolBarService 2020-05-19 10:01:44 +01:00
Erik Ziegler
b65a91129e Still broken, but app runs 2020-05-19 10:59:50 +02:00
Erik Ziegler
66c7bd7492 Fix viewports 2020-05-19 09:11:16 +02:00
Erik Ziegler
63cf079288 Make thumbnails display 2020-05-18 23:21:41 +02:00
dannyrb
c55d069e32 refactor how we slowly build our studies array 2020-05-18 16:20:39 -04:00
dannyrb
351e0f76d6 start cleaning up panels 2020-05-18 15:05:49 -04:00
Erik Ziegler
1bb204b9a5 Stop using children 2020-05-18 19:49:32 +02:00
Erik Ziegler
488bb5d266 Fixed! 2020-05-18 18:21:43 +02:00
Erik Ziegler
4e683ecdde still broken 2020-05-18 18:11:24 +02:00
James A. Petts
7a8418f64b WIP DisplaySetService 2020-05-18 16:21:57 +01:00
Erik Ziegler
10930cda68 Avoid re-renders in study browser and entire page 2020-05-16 15:08:06 +02:00
James A. Petts
4fc3169fed display viewport. 2020-05-15 18:07:21 +01:00
Erik Ziegler
7c0d93f011 Try to do study panel the way react wants 2020-05-15 15:56:57 +02:00
Erik Ziegler
44733b987e Thumbnails sort of show up 2020-05-15 14:53:31 +02:00
Erik Ziegler
304caba873 Start adding measurement table 2020-05-15 14:31:18 +02:00
Erik Ziegler
70b7158c9b StudyBrowser almost works 2020-05-15 13:09:46 +01:00
Erik Ziegler
ec2df02e83 Improve study browser 2020-05-15 13:06:23 +01:00
dannyrb
6044190ab1 Fine tune grid spacing 2020-05-15 13:05:56 +01:00
dannyrb
00347d3ecb Nuke "SecondaryToolbar" which is really just a Toolbar variant 2020-05-15 13:05:56 +01:00
dannyrb
ded1431fab Cleaner body styles on enter/exit for LayoutTemplate 2020-05-15 13:05:56 +01:00
dannyrb
6fdf35b370 Start to whittle away at ViewportGrid comment 2020-05-15 13:05:55 +01:00
dannyrb
ba152f082b Split ViewportLayout into parts and clean-up 2020-05-15 13:04:54 +01:00
Erik Ziegler
0c74a9bbcd Fixes for display sets, prep for tracking / grid stuff 2020-05-15 13:04:54 +01:00
Erik Ziegler
d131489aa3 Start adding StudyBrowser 2020-05-15 13:04:53 +01:00
James A. Petts
3b5764aea7 Rebase WADO + toolbar + displayset stuff on master 2020-05-15 13:04:53 +01:00
James A. Petts
b8a4ac231d something WIP 2020-05-15 13:04:53 +01:00
James A. Petts
4b9a1ee9d1 Remove all the debugging. 2020-05-15 13:04:53 +01:00
James A. Petts
07ca72d0df Added other required definitions. 2020-05-15 13:04:51 +01:00
James A. Petts
41c508b2da Add layout tools based on mode. 2020-05-15 13:04:09 +01:00
James A. Petts
c23c1e8db6 Add toolbar layout to context. 2020-05-15 13:04:09 +01:00
James A. Petts
c42aa37d7f Update extension manager to ingest each module type. Add toolbar Manager. 2020-05-15 13:04:06 +01:00
James A. Petts
289d3f5703 Build WADO logic to fetch + build displaysets + generate imageIds based on prefs. 2020-05-15 13:02:04 +01:00
James A. Petts
d5c83bf596 WIP 2020-05-15 13:02:04 +01:00
dannyrb
4dccefb21f seriesInStudy method 2020-05-15 13:02:02 +01:00
dannyrb
1e58d8eb4b Wire up beginnings of series search 2020-05-15 13:02:02 +01:00
dannyrb
a11aea0439 Shift exampleInstances to a separate file 2020-05-15 13:02:02 +01:00
dannyrb
e29a777a9f fix studyDate sort and display 2020-05-15 13:02:01 +01:00
dannyrb
10729c2414 Sort for everything except studydate/time 2020-05-15 13:02:01 +01:00
dannyrb
1979928d59 Round trip mrn filtering 2020-05-15 13:02:01 +01:00
Erik Ziegler
3ce4b886ac Fix context usage in ModeRoute 2020-05-15 13:02:00 +01:00
dannyrb
8f284aafac apply start/end dates to qido search 2020-05-15 13:02:00 +01:00
dannyrb
1cd643314f parse and display correct time, if value is set 2020-05-15 13:01:59 +01:00
James A. Petts
5c19671d3c WIP build up displaysets. 2020-05-15 13:01:58 +01:00
Erik Ziegler
d4f51c5e3c Work on adding SOPClassHandler module based on default behaviour currently in OHIF 2020-05-15 13:01:55 +01:00
dannyrb
45ca73946d Very basic search test based on query param 2020-05-15 13:01:26 +01:00
dannyrb
6f9c27f10b basic initial search and passing data to LayoutTemplate for list route 2020-05-15 13:01:26 +01:00
Erik Ziegler
3cf2eb5ed8 Wire up contextModule, panelModule, layoutTemplateModule. Viewer sort of displays 2020-05-15 13:01:25 +01:00
Erik Ziegler
8acd744710 Continue the ModeRoute work. Routes are reachable, but extensionManager needs to be improve to provide module entries correctly 2020-05-15 13:01:25 +01:00
dannyrb
20dd83e702 Hydrate our first data source 2020-05-15 13:01:25 +01:00
dannyrb
14dabaabf6 layout template and side panel defaults
Co-authored-by: James Petts <jamesapetts@gmail.com>
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
2020-05-15 13:00:06 +01:00
dannyrb
7069627266 Stub get context module
Co-authored-by: James Petts <jamesapetts@gmail.com>
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
2020-05-15 13:00:06 +01:00
Rodrigo Antinarelli
ee69a5a40b create dicom web api 2020-05-15 12:59:29 +01:00
Rodrigo Antinarelli
97004de446 feat: OHIF-117 ohif extension default (#1712)
* initial structure for extension default

* webpack config

* split default modules into separated files

* bump versions

* update index

* update index

* fix

* Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-05-15 12:59:29 +01:00