Commit Graph

318 Commits

Author SHA1 Message Date
Ibrahim
cea27d438d
feat(advanced-roi-tools): new tools and icon updates and overlay bug fixes (#4014) 2024-04-04 23:00:11 -04:00
nithin-trenser
56b1eae635
feat(measurement): Add support measurement label autocompletion (#3855) 2024-04-04 22:42:48 -04:00
Ibrahim
fa38e6a07a
fix(presentation-state): Iterate over map properly to restore the presentation state (#4013) 2024-04-03 08:53:29 -04:00
Ibrahim
9f3235ff09
feat(segmentation): Enhanced segmentation panel design for TMTV (#3988)
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2024-04-02 23:33:04 -04:00
Ibrahim
b7f90e3951
feat(ViewportActionMenu): window level per viewport / new patient info / colorbars/ 3D presets and 3D volume rendering (#3963)
Co-authored-by: Joe Boccanfuso <109477394+jbocce@users.noreply.github.com>
2024-04-02 09:35:30 -04:00
Alireza
158a181670
fix(new layout): address black screen bugs (#4008) 2024-03-28 16:45:11 -04:00
Ibrahim
617043fe0d
feat(layout): new layout selector with 3D volume rendering (#3923) 2024-03-28 10:40:32 -04:00
Alireza
566b25a544
feat(toolbar): new Toolbar to enable reactive state synchronization (#3983) 2024-03-27 16:01:32 -04:00
Bill Wallace
21e8a2bd0b
fix(demo): Deploy issue (#3951) 2024-02-22 14:42:46 -05:00
Alireza
b3a0faf5f5
feat(resize): Optimize resizing process and maintain zoom level (#3889) 2024-02-21 13:49:23 -05:00
Alireza
e4a116b074
fix(viewport-sync): remember synced viewports bw stack and volume and RENAME StackImageSync to ImageSliceSync (#3849) 2024-01-22 09:44:35 -05:00
Alireza
b1efe40aa1
fix(segmentation): upgrade cs3d to fix various segmentation bugs (#3885) 2024-01-09 10:15:56 -05:00
Celian-abd
e8858f3eb5
fix: colormap for stack viewports via HangingProtocol (#3866) 2024-01-08 12:28:22 -05:00
Pedro H. Köhler
0177b625ba
feat(overlay): add inline binary overlays (#3852) 2023-12-13 16:18:49 -05:00
Pedro H. Köhler
e1f55e65f2
feat(customizationService): Enable saving and loading of private tags in SRs (#3842) 2023-12-13 14:21:46 -05:00
Joe Boccanfuso
59576d695d
feat(HP): Added new 3D hanging protocols to be used in the new layout selector (#3844) 2023-12-08 09:25:57 -05:00
Bill Wallace
00e751933a
fix(DICOM Overlay): The overlay data wasn't being refreshed on change (#3793) 2023-11-21 09:05:25 -05:00
Igor Octaviano
323401418e
fix: 🐛 Run error handler for failed image requests (#3773) 2023-11-13 10:42:55 -05:00
Bill Wallace
fd1251f751
fix(overlay): Overlays aren't shown on undefined origin (#3781) 2023-11-13 08:50:58 -05:00
Alireza
43b1c17209
feat(dicomJSON): Add Loading Other Display Sets and JSON Metadata Generation script (#3777) 2023-11-10 16:51:23 -05:00
edwardyangxin
8af1046803
fix(arrow): ArrowAnnotate text key cause validation error (#3771) 2023-11-08 23:04:55 -05:00
Pedro H. Köhler
442f99d5eb
feat: add VolumeViewport rotation (#3776) 2023-11-08 16:00:18 -05:00
Alireza
bf252bcec2
feat(hp callback): Add viewport ready callback (#3772)
Co-authored-by: Ouwen Huang <ouwen.huang@duke.edu>
2023-11-08 09:19:49 -05:00
Alireza
ee67bcc0f5
docs(faq): FAQ and Segmentation Mode Fix for some studies (#3762) 2023-11-03 12:19:24 -04:00
Bill Wallace
dd6d9768bb
fix(toolbar): allow customizable toolbar for active viewport and allow active tool to be deactivated via a click (#3608)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2023-10-25 13:08:12 -04:00
Joe Boccanfuso
d9258eca70
fix(cine): Use the frame rate specified in DICOM and optionally auto play cine (#3735)
Co-authored-by: rareramos <rareramos1126@gmail.com>
Co-authored-by: Doug Horner <horner@mieweb.com>
Co-authored-by: Rehan <58819707+Rayhan-011@users.noreply.github.com>
2023-10-19 13:29:44 -04:00
Joe Boccanfuso
93d798db99
fix(calibration): No calibration popup caused by perhaps an unused code optimization for production builds (#3736) 2023-10-19 13:02:03 -04:00
Alireza
55002fbd71
chore(version): move to the next beta version [BUMP BETA] 2023-10-12 17:09:44 -04:00
Alireza
7c57f67844
fix(modules): add stylus loader as an option to be uncommented (#3710) 2023-10-10 13:21:17 -04:00
Joe Boccanfuso
a9a6ad50ea
fix(segmentation): Various fixes for segmentation mode and other (#3709) 2023-10-10 10:25:30 -04:00
Alireza
52f34c64d0
fix(voi): should publish voi change event on reset (#3707) 2023-10-09 20:49:10 -04:00
Alireza
4911e4796c
fix(segmentation): do not use SAB if not specified (#3705) 2023-10-09 11:02:49 -04:00
Alireza
8bc12a37d0
fix(bugs): fixing lots of bugs regarding release candidate (#3700) 2023-10-05 23:39:56 -04:00
Joe Boccanfuso
c1d5ee7e3f
fix(measurement and microscopy): various small fixes for measurement and microscopy side panel (#3696) 2023-10-04 14:11:09 -04:00
Bill Wallace
108383b9ef
feat(debug): Add timing information about time to first image/all images, and query time (#3681) 2023-10-03 17:01:00 -04:00
Alireza
5e7fe91617
feat(displayArea): add display area to hanging protocol (#3691)
Co-authored-by: Ouwen Huang <ouwen.oh@gmail.com>
2023-10-03 15:18:15 -04:00
Joe Boccanfuso
e36a604331
fix(dicom overlay): Handle special cases of ArrayBuffer for various DICOM overlay attributes. (#3684)
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-10-03 11:44:56 -04:00
Bill Wallace
8a335bd03d
fix(StackSync): Miscellaneous fixes for stack image sync (#3663) 2023-10-03 10:59:09 -04:00
Alireza
1129c155d2
fix(config): support more values for the useSharedArrayBuffer (#3688) 2023-10-03 10:11:32 -04:00
Alireza
a67d72de85
fix(no sab): should work when shared array buffer is not required (#3686) 2023-09-29 17:54:16 -04:00
Alireza
48bbd6281a
feat(segmentation mode): Add create, and export SEG with Brushes (#3632) 2023-09-22 10:23:44 -04:00
Alireza
2bd3b26a6a
perf(memory): add 16 bit texture via configuration - reduces memory by half (#3662)
Co-authored-by: Ouwen Huang <ouwen.huang@duke.edu>
2023-09-22 09:31:45 -04:00
Bill Wallace
38af3112ec
fix(measurements): Update the calibration tool to match changes in CS3D (#3505)
This change makes the OHIF side consistent with the CS3D user calibration settings, and will correctly display px and rounding values consistent with the CS3D display.
2023-09-15 10:50:23 -04:00
Yaroslav Halchenko
11ca5b6eae
docs(spelling): Add codespell config + github action, run and fix a good number of typos (#3645) 2023-09-12 07:40:38 -04:00
M.D
69115da06d
feat(ImageOverlayViewerTool): add ImageOverlayViewer tool that can render image overlay (pixel overlay) of the DICOM images (#3163)
Co-authored-by: Joe Boccanfuso <joe.boccanfuso@radicalimaging.com>
2023-09-06 09:24:17 -04:00
Alireza
9045ddaedc
chore(prettier): full repo linting and code reformatting once and for all (#3627) 2023-09-01 16:19:39 -04:00
Alireza
4c6ff873e8
feat(grid): remove viewportIndex and only rely on viewportId (#3591)
Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2023-08-30 16:46:55 -04:00
Alireza
65b49aeb1b
fix(memory leak): array buffer was sticking around in volume viewports (#3611) 2023-08-23 09:35:44 -04:00
Joe Boccanfuso
0f9b36906f
feat(thumbnail highlight): Thumbnails of hydrated series are now highlighted (#3594) 2023-08-16 12:51:26 -04:00
Bill Wallace
53c16b928f
feat(hp priors): Study comparison hanging protocol (#3579) 2023-08-16 10:15:12 -04:00
Bill Wallace
884577a23d
fix: Integration test instability (#3597)
There are a couple of changes here which should improve stability of the tests.  Hopefully that will be sufficient, but it is difficult to tell for sure if it is complete.
2023-08-15 07:20:45 -04:00
Alireza
5d435424e2
lint(curly): consistent use of curly brackets in codebase (#3584) 2023-08-09 10:07:33 -04:00
Alireza
8adf663248
fix(state synchronization): SEG and RT viewports should keep their before hydration voi (#3560) 2023-08-09 08:08:23 -04:00
Alireza
156c1ba60b
perf(segmentation): make segmentation read 3x faster (#3577) 2023-08-08 14:39:31 -04:00
Alireza
d8f628b125
fix(rerendering): reduce the re-rendering of the viewport grid (#3558) 2023-07-26 11:34:50 -04:00
Bill Wallace
d5cbbb037d
Fix the wrong aspect ratio load (#3534) 2023-07-19 15:21:19 -04:00
Joe Boccanfuso
18156bb7b1
fix(PT measurement units): Use the modality unit that arrives from cornerstone3d instead of calculating the modality unit (again) here. (#3533) 2023-07-13 09:03:17 -04:00
Alireza
4a184d0be7
fix(invert): allows volume viewport to invert and sync their invert status (#3514) 2023-07-06 12:09:34 -04:00
Joe Boccanfuso
c3c132d268
fix(tracked-measurement): SR viewports disable jump to measurement (#3518) 2023-07-05 08:43:01 -04:00
Joe Boccanfuso
ed44ad7f4b
fix(segmentation): Use the series description for the segmentation label (#3517) 2023-07-04 14:39:39 -04:00
Bill Wallace
64f8bb580a
fix(colormap): update opacityMapping to opacity and use simple list renderer(#3464)
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-07-04 11:57:59 -04:00
Sofien-Sellami
b5b7d323c8
fix: allow volume3d viewport for SUV rendering (#3494)
Add checks to include volume3d viewports.
2023-06-29 10:30:41 -04:00
Joe Boccanfuso
ef4f28690a
fix(DICOM Upload): use correct Accept header for upload (#3498) 2023-06-27 11:44:46 -04:00
Alireza
52f419d188
feat(transferSyntax): Add customizable Transfer syntax through datasource config (#3406) 2023-06-22 20:47:50 -04:00
dxlin
e6f73a2025
fix(RT) : Make ContourImageSequence check under ROIContourSequence->ContourImageSequence optional (#3476) 2023-06-19 09:01:23 -04:00
Joe Boccanfuso
cc73f15c8c
fix(Button): redesign of existing Button component for consistency (#3473) 2023-06-15 12:58:21 -04:00
Sofien-Sellami
2890635675
fix(overlay): Fix undefined volumes in customizable viewport overlay (#3435) 2023-06-13 08:51:01 -04:00
Salim Kanoun
ad3ef3e8ef
Merge branch 'master' into customizable-TS 2023-06-09 21:45:03 +02:00
Alireza
81b02a6e46 chore(build): update the beta version [BUMP BETA] 2023-06-08 13:14:34 -04:00
Joe Boccanfuso
da5c32bce3
fix(modal and dialogues): fixes as per specifications (#3438)
Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-06-07 08:31:09 -04:00
Salim Kanoun
18c6a47dca
Merge branch 'master' into customizable-TS 2023-06-07 13:08:49 +02:00
Alireza
eb1550536c
chore(build): update the beta version [BUMP BETA] 2023-06-06 21:47:51 -04:00
Alireza
828690cd3b
chore(build): try to build demo and docs (#3434) 2023-06-06 13:34:26 -04:00
Salim Kanoun
50d2640876 accept both accept header and transfer syntax uid 2023-06-05 22:32:29 +02:00
Salim Kanoun
e4937e7473 update comments 2023-06-01 23:35:13 +02:00
Salim Kanoun
62dd2e78bd null safe 2023-06-01 23:32:16 +02:00
Salim Kanoun
c3654b7ddf rework TS 2023-06-01 23:18:54 +02:00
Salim Kanoun
f670678cf0 WIP accept header 2023-05-29 23:28:17 +02:00
Salim Kanoun
56633a67d9
Merge branch 'v3-stable' into customizable-TS 2023-05-29 23:26:36 +02:00
Salim Kanoun
6da1734b6e Moving requested ts in createDicomWebApi (WIP) 2023-05-29 10:38:04 +02:00
Joe Boccanfuso
c0fd4416ed
fix(Measurement): fixed line dashing of measurements in various scenarios (#3407)
* fix(Measurement): fixed line dashing of measurements in various scenarios

For a StackViewport simply rely on the SeriesInstanceUID being part of the
tracked measurements or not.

For a VolumeViewport first check the image id of the current image in the viewport
and then check the SeriesInstanceUID (like for a StackViewport) if an id is returned.
To reliably get the id of the current image, listen for the VOLUME_VIEWPORT_NEW_VOLUME event.

* Changes for PR comments.
2023-05-18 20:59:33 -04:00
Salim Kanoun
5e4043d99c add source of type correspondancies 2023-05-18 19:21:46 +02:00
Salim Kanoun
2f63a9db80 init commit making TS customizable in OHIF settings 2023-05-18 19:06:26 +02:00
Mateus Freira dos Santos
f2004aee9e
fix(headers): Add all extra headers to WADO image loader (#3405) 2023-05-18 13:04:14 -04:00
Joe Boccanfuso
052653f3b2
fix(Image Download): various bug fixes for image download (#3396)
- prevent non-cornerstone viewports from showing the image download dialogue
- passing the rendering engine id to ToolGroup.addViewport
- fixed the keep/dismiss aspect feature
2023-05-16 14:50:34 -04:00
Alireza
1881ce5cbc
feat(custom displayOptions): add custom options to every level of hp (#3372)
* feat(custom displayOptions): add custom options to every level of hanging protocols

* move set preset down to cornerstone3d

* works

* fix tmtv based on new api

* fix unit test

* close

* review1

* upgrade packages

* update packages

* apply review comments

* recursive call

* less copy

* apply review comments

* fix e2e tests

* apply review comments

* revert

* apply review comments

* apply review comments

---------

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
2023-05-16 13:07:37 -04:00
Bill Wallace
d5c5951e57
fix(SR): KO series being displayed in browser list (#3382)
* fix: KO series being displayed in browser list

* fix sr for volume viewports

* move highlight labelmap to RAF

* remove commented code

* fix the hydration bug for the SR

* apply review comments

* revert the key images for sr

* Remove some obsolete changes

* set initial image for sr instead of jump

* Remove viewportType stack

---------

Co-authored-by: Alireza <ar.sedghi@gmail.com>
2023-05-15 08:23:13 -04:00
Joe Boccanfuso
4172d0427b
fix(Measurements): in MeasurementService keep a separate set of unmapped measurements (#3385)
* fix(Measurements): return {} instead of undefined for getSOPInstanceAttributes

* PR feedback:
- separated measurements from non-acquisition plane
- reverted to previous behaviour of returning undefined in getSOPInstanceAttributes

* Added unit tests for unmapped measurements.

* PR feedback: added comments to the unmappedMeasurement used in the unit tests.
2023-05-12 16:24:00 -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
98d966514a
fix(Measurements): edit measurement while SEG loaded (#3375) 2023-05-09 12:15:26 -04:00
Alireza
2f355fa158
fix(cli): better support for external modules and toolGroups in templates (#3364)
* choe(modes, components): improved readability

This commit includes changes to improve performance in the basic-dev-mode and Thumbnail components.
Additionally, a change in the webpack configuration file was made to ignore ".min.js.map" files.
The defaultDataSourceName was also added to several configuration files, and whiteLabeling code was removed
from the local_orthanc configuration file.

* fix(cli): better path management and add dependencies

* better docs

* add default tool group to the templates

* add review comments

* apply review comments

* try to fix test

* fix thumbnail in tests
2023-05-08 15:49:28 -04:00
Alireza
969e7698fa
chore(bump cs3d): bump package and add caching to webpack (#3353)
* chore(bump cs3d): bump package and add caching to webpack

* remove test for now
2023-05-03 12:30:02 -04:00
Joe Boccanfuso
0f85b1a681
fix(DICOM Upload): Decreased the minimum height for the upload dialog contents to better fit some laptops. (#3347) 2023-05-02 09:24: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
Alireza
f377153b60
fix(viewportDialog): viewportDialoge not appearing in non-tracked viewports (#3071)
* fix: viewportdialoge not appearing in non-tracked viewports

* feat(viewports): Introduce useViewportDialog and remove deprecated API

This commit introduces the `useViewportDialog` hook and replaces the deprecated `viewportDialogApi` with the new `viewportDialogState`. Additionally, the notifications in `OHIFCornerstoneRTViewport` and `OHIFCornerstoneViewport` have been removed. Finally, the `CinePlayer` component now accepts optional parameters.

* fix tests
2023-04-28 11:06:03 -04:00
Alireza
c9d3c08cb6
feat(cst): Add new command to get nearby annotation tools (#3327)
* feat(cst): Add new command to get nearby annotation tools
This commit adds a new command `getNearbyAnnotation` to the `commandsModule.ts` file that identifies nearby annotation tools excluding Crosshairs and ReferenceLines. It also removes an unused mapping to `Crosshairs` in `initMeasurementService.js` and changes the command run in `findNearbyToolData.ts` to `getNearbyAnnotation`.

* perf(cornerstone): Improve performance by optimizing tools

Removes unnecessary imports to improve app's performance. Changes how annotations are detected on the `commandsModule.js` file by fetching the `isAnnotation` property of the tool instance if available. Updates `CrosshairsTool` and `ReferenceLinesTool` to not be annotations anymore. Adjusts the `localhost` URL ports for the `dcm4chee-arc` service interface on `local_dcm4chee.js` to allow for more efficient server communication.

* feat(cornerstone): Add CornerstoneServices type and ToolGroupService.getToolGroup to get tool group by ID or active viewport

This commit introduces the new CornerstoneServices interface to the code and adds the ToolGroupService.getToolGroup method, which can retrieve a specific tool group by ID or from the active viewport. The older _getToolGroup method has also been removed from commandsModule. When no tool group ID is provided, this method now retrieves the tool group from the currently active viewport with the help of getActiveViewportEnabledElement. Additionally, the required reference to @ohif/core has been removed.
2023-04-28 10:14:14 -04:00
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
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