Commit Graph

200 Commits

Author SHA1 Message Date
igoroctaviano
7f6aa0e260 Update dependency: cornerstone-tools@4.16.1
cornerstone-tools
  * @ohif/core: 4.16.0 → 4.16.1
  * @ohif/extension-cornerstone: 4.16.0 → 4.16.1
  * @ohif/extension-dicom-rt: 4.16.0 → 4.16.1
  * @ohif/extension-dicom-segmentation: 4.15.1 → 4.16.1
  * @ohif/extension-dicom-sr: 4.16.0 → 4.16.1
  * @ohif/extension-measurement-tracking: 4.15.1 → 4.16.1
  * @ohif/extension-vtk: 4.16.0 → 4.16.1
  * @ohif/viewer: 4.16.0 → 4.16.1
2020-06-30 21:55:59 -03:00
igoroctaviano
a197b887fb Merge branch 'feat/v2-main' of github.com:OHIF/Viewers into feat/ohif-125 2020-06-26 12:38:18 -03:00
igoroctaviano
e9696894a9 Add error boundary 2020-06-26 10:26:50 -03:00
Danny Brown
0264e5998d
Merge branch 'feat/v2-main' into feat/OHIF-177 2020-06-25 16:17:50 -04:00
James Petts
6aac69e1ba
OHIF-176: v2 - Render non-tracked measurements as a dashed lines. (#1805)
* Render non-tracked measurements as a dashed line.

* bump CST version.

* Update extensions/measurement-tracking/src/viewports/TrackedCornerstoneViewport.js

remove tracked series console log

* Remove empty console log

* Remove debugger

* Remove debugger

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
2020-06-25 17:46:17 +01:00
James A. Petts
74c1462271 Working local download, STOW to PACS an view in SR Viewport. 2020-06-25 17:21:03 +01:00
Erik Ziegler
67508f6667 fix: Make docker build properly 2020-06-23 12:36:43 +02:00
dannyrb
570424e3e9 Add support for LayoutSelector 2020-06-15 23:38:48 -04:00
dannyrb
66e8f7a592 bump docz version 2020-06-04 12:37:05 -04:00
dannyrb
74edfb0913 fix incorrect react-dnd backend 2020-06-03 15:08:19 -04:00
dannyrb
ecb458e37c bump yarn lock after gatsby version updates 2020-06-03 14:07:24 -04:00
dannyrb
87f3921492 update yarn lock 2020-06-03 12:41:38 -04:00
dannyrb
870489be1d Test state machine hook 2020-05-27 21:25:44 -04:00
dannyrb
11a4d4227d Pull in correct context; add xstate package 2020-05-27 08:21:58 -04:00
dannyrb
d557acbb40 Support for additional "tracking" mode 2020-05-26 09:03:58 -04:00
dannyrb
db76eac047 wire up UI Services 2020-05-23 23:38:20 -04:00
dannyrb
913f9589e5 fix config; update yarn.lock 2020-05-20 09:06:50 -04:00
dannyrb
1cd6b6881a upgrade react-router and react-router-dom to gain access to new hooks 2020-05-19 23:47:43 -04:00
Erik Ziegler
f3f50d11fe Fixes after rebasing 2020-05-15 14:29:27 +02:00
Erik Ziegler
70b7158c9b StudyBrowser almost works 2020-05-15 13:09:46 +01:00
dannyrb
599204176c Add drag and drop provider 2020-05-15 13:05:55 +01:00
dannyrb
26450644ab add react-dnd 2020-05-15 13:04:54 +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
e39d4d57d4 add query-string as a dependency 2020-05-15 13:01:24 +01:00
Rodrigo Antinarelli
01b314522d feat: New @ohif/viewer project structure + routes (#1674)
* fix pagination size

* clean up, start a very basic route configuration

* quick navigation between routes

* configure webpack to read .env variables

* Move container components to Routes directory

* Fix naming of recipe file

* Clean up source folder

* update yarn.lock

* ci: update netlify deploy preview to build viewer project

* update PWA entrypoint to pass configuration on window to App as props

* fix: for missing key

* Pass routerBasename to our React Router component

* Simplify config for meow

Co-authored-by: dannyrb <danny.ri.brown@gmail.com>
2020-05-15 12:57:23 +01:00
Gustavo André Lelis
b7a72f5225 OHIF-32: Wrapping React-select with our style requirements (#1529)
* Custom Select component

* Including inpot section

* Adding missing import sections on docz

* Change cursor once is disabled

* update date range color font
2020-05-15 12:38:18 +01:00
Rodrigo Antinarelli
b183e78f47 feat: ui v2 - Date Range Component (#1537)
* feat: Date Range wrapper component

* fix yarn issues

* add calendar icon

* date range css styles

* date range fixes

* fix propTypes warning

* fix clear method, defaultProps & onChange method

* update inline styles to use tailwind classes

* date range documentation page

* minor refactor
2020-05-15 12:38:05 +01:00
Danny
0ec277dd56 fix broken build 2020-05-15 12:38:02 +01:00
Rodrigo Antinarelli
2bf5486112 chore: Data Mocking for Study List (#1515)
* feat: Data mocking for studies

* feat: Data Mocking for Study List

* fix empty study position

* rename variables for numOfStudies

* fix studies query

* remove alert :|

* minor refactor

* split utils and refactoring

* refactoring -- format, clean up icons, mdx mock
2020-05-15 12:37:40 +01:00
Rodrigo Antinarelli
dd18de86f8 chore: Add new eslint rule -- props-no-spreading (#1509) 2020-05-15 12:36:01 +01:00
Gustavo André Lelis
f4aea45e01 feat: Icon component (#1499)
* New icons and old strucure of OHIF ui v1

* Export icon

* Removing wrong import and fixing some exports

* Fixing svg loader and svg images to fullCurrent

* Small fixes on docz

* Remove repeated icon

* Update other components to use Icon

* Update platform/ui/src/components/Icon/icon.mdx

Co-Authored-By: Rodrigo Antinarelli <rodrigoantinarelli@gmail.com>

* Fixing callouts

* Move icons to assets and fixing layout on iconButtons

* Fix path of icons

Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
Co-authored-by: Rodrigo Antinarelli <rodrigoantinarelli@gmail.com>
2020-05-15 12:35:57 +01:00
Rodrigo Antinarelli
3a63c3d20b update lock file 2020-05-15 12:33:12 +01:00
Danny Brown
d6e3b45f3c feat: nuke UI project; start new with updated tooling BREAKING_CHANGE (#1468)
BREAKING_CHANGE

* initial structure for components rewrite

* WIP Input

* WIP Label

* add button props

* add label class name

* fix dependency

* new examples buttonModules & buttonEmotion + refac

* clean up to merge initial code into base branch

* remove unused file

* extend default theme -- add new colors

* chore: prettier formatting

* chore: try to exclude feature branch PRs

* chore: suggest toml syntax highlighting extension

* chore: capture yarn.lock changes

* docs: condense readme

* chore: update deploy preview to build docz component library

* chore: Add component library to deploy preview index

* chore: fix invalid tailwindcss config

* chore: try tweaking toml to kickstart preview

* chore: revert

* chore: fix formatting of file index

* chore: don't waste precious build minutes on a broken build

* chore: chmod build-and-deploy.sh

* ci: nuke circleci until we need the workflows on master

* debug lerna commands

* remove redundant yarn commands

* try nohoist

* revert tests

* attempt to resolve import issue

* force update yarn lock

* try new workarounds for yarn version

* another workaround

* shift vtk to extension repo deps

* catch vtk addition

* update lock

* Try older yarn version

* try again

* debugging

* fix: yarn doctor warnings

* learn some life lessons from the yarn docs

* clean up netlify.toml

* clean up netlify.toml

* yarn package doctor react-dom

* yarn doctor: missing peer dep

* yarn doctor, satisfying webpack loader peer deps

* fix docz base path for deploy-preview

* yarn docter: replaced prePublishOnly usage

* More yarn doctoring

* ignore .yarn directory

* fix last yarn doctor warning

* updated yarn lock

Co-authored-by: Rodrigo Antinarelli <rodrigoantinarelli@gmail.com>
2020-05-15 12:28:18 +01:00
Rodrigo Antinarelli
b53d4528fb new examples buttonModules & buttonEmotion + refac 2020-05-15 12:19:05 +01:00
Rodrigo Antinarelli
c391c007ff initial structure for components rewrite 2020-05-15 12:18:30 +01:00
James Petts
c4f84b1174
fix: 🐛 Fix seg color load (#1724) 2020-05-12 15:47:35 +01:00
Igor Octaviano
42c22df1b6
Segmentation UI for VTKjs (#1685)
* Add single viewport configuration

* Multiple viewport configuration

* Improve performance by using independent set methods

* Add jump to slice command

* Add context configuration

* Cache panel visibility

* Fix sync between vtk and cornerstone

* Remove apis index

* Add approach

* Add loading to update volumes

* Fix broken configuration

* Bump vtk version

* Use loading label

* Update cy tests after vtk loading label changed

* Remove loading for segs
2020-05-06 18:17:44 +01:00
Igor Octaviano
2a66e175df
Update viewport state after moving the stack (#1645)
* Update viewport state after moving the stack

* Only trigger new imagecallback if index bigger than 0

* Fix cornerstone viewport version

Co-authored-by: James Petts <jamesapetts@gmail.com>
2020-05-04 13:30:51 +01:00
Igor Octaviano
835f64d47a
feat: 🎸 Seg jump to slice + show/hide
* Add segment part 2 (jump to frame and visibility toggle)

* Cr updates

* Filter displaysets with images

* feat: 🎸 Seg jump to slice + show/hide

Co-authored-by: James Petts <jamesapetts@gmail.com>
2020-04-24 11:25:05 +01:00
James Petts
71205618ec
fix: 🐛 Multiframe fix (#1661) 2020-04-23 11:02:51 +01:00
James Petts
e96205de35
feat: configuration to hook into XHR Error handling
* Error handling.

* Fix error handling, add redirect example.

* remove debugger

* docs: whitelabeling and httpErrorHandler

* bump dicomweb-client version

* bump cornerstone-wado-image-loader version

* Add more documentation around httpErrorHandler callback

* test: add errorHandler as an expected top level export

Co-authored-by: dannyrb <danny.ri.brown@gmail.com>
2020-04-22 22:01:34 -04:00
Danny Brown
450c80b9d5
feat: set the authorization header for DICOMWeb requests if provided in query string (#1646) 2020-04-17 10:14:13 -04:00
Igor Octaviano
858484f250
Support of RTSTRUCT visualization (#1524)
* Filter segs and fetch correct metadata.

* Initiate seg loading logic on series load into viewport. Need to write.

* Automatic consumption of SEG functional.

* Pull in master.

* Fix issues after pulling in master.

* Clean up old segmentation handlers.

* WIP

* WIP

* Poppulate viewport with metadata.

* Show hide/segmentation in react-vtkjs-viewport.

* feat: 🎸 View segmentations in vtkjs viewport

* Filter segs and fetch correct metadata.

* Initiate seg loading logic on series load into viewport. Need to write.

* Automatic consumption of SEG functional.

* Pull in master.

* Fix issues after pulling in master.

* Clean up old segmentation handlers.

* WIP

* WIP

* Poppulate viewport with metadata.

* Show hide/segmentation in react-vtkjs-viewport.

* feat: 🎸 View segmentations in vtkjs viewport

* Rebase on master.

* format format format

* add basic extension parts

* Updated yarn lock

* Fetch derived/referenced displaysets in sidepanel

* Add buttons, expose seriesDescription, write notes for Danny.

* Add growcut tool extention. -> Move to a seperate repo.

* Change some text fields.

* expose dialog provider

* hide draggable area

* No pointer events for now; need to revisit

* Don't filter seg from the outset for now

* fiddling about

* fix path to series data

* fix logic to determine next available labelmapindex

* Ability to swtich between labelmaps

* Return a promise so we can make sure our labelmap is loaded before pulling metadata

* Better UI to toggle labelmaps

* Fix accidental untoggle of active labelmap for ui

* Remove brush tool from cornerstone extension

* Add cstools in preInit for seg extension

* Add buttons for seg magic

* Hide the measurements panel for now

* Slightly better seg/scissor icons

* Add eraser

* ability to switch segments

* seg color / switcher

* Fix vtk labelmap cache.

* sidepanel should scroll if there's overflow

* Use a fancier range slider

* Slightly prettier buttons

* Push in progress

* A bit more reactive; handle no-meta

* Update to vtk.js 11.14.0 and react-vtkjs-viewport 0.6.0

* chore: kickstart preview

* Fix conflict issues

* Refactor panel

* Isolate increment functions

* Wip segment table

* Hide selector and add scroll to segmentation

* Increase width of segment description

* Hide not used items

* Add new select for segmentations

* Align ui

* Fix default segmentation

* Fix broken import test

* Get measurements panel back and add spacing to grouped buttons

* Hide brush and selector and refresh when switching segmentations

* Add pointer events back and fix broken tests for measurement table

* Update segment list when switching humbnails

* CR Update: Minor UI adjustments

* CR Update: Set active segment

* Move components to components folder

* Add new settings ui

* Integrate configuration

* Improve styles

* Float numbers

* Improve css

* Refresh settings menu if side panel changed

* Fix settings rendering logic and remove comments

* Extract components

* Remove not used tools

* Remove non used extension

* Use style variables and remove comments

* Remove non used dep from lock

* Remove tools

* Remove segmentation from toolbar

* Add todo and brushradius from config

* Fix packagejson growcut import

* Remove webpack config already defined in parent

* Update package json description

* Change component name to british english to us

* Improve prop types

* Rename cornerstone label map event

* Scope css

* Extract and add doc to helper

* Update jsdocs for getDerivedDatasets

* Add proptypes and cr updates

* Update tablistitem proptypes

* config is readonly, rollback destructuring

* Remove event for side panel

* Add jsdocs for util

* Extract getimageid to studymetada

* Use ohif log instead of console

* Remove specific style from side panel

* Fix default props for brush radius

* Descructure configuration props from settings component to avoid invalid props

* Update proptypes to be required (settings)

* Update readme

* Remove commandsmodule

* Get configuration module inside the component

* Set selected segment

* Rename extension and use modality to filter

* Fix for failing tests (#1423)

* hello world

* Finish rebase for Igor.

* Re-fix cornerstoneTools version that got messed up in merge.

* Fix reactivity of isDisabled, write implementation for the SEG panel.

* Nuke yarn.lock to stack CST to 4.12.0

* Remove debugger statements.

* WIP consume RTSTRUCT

* Doc API and add endpoints.

* Rebase on SEG PR.

* Update DICOM Keyword variables.

* Fix metadata vars format

* Add basic RT panel along with configuration

* Wire up configuration with settings component

* Mock structure set tables

* Improve design of settings

* Integrate list of contours

* Extract panel section

* Filter by seriesuid

* Fix slow settings

* Add jump to image

* Fix expandable items

* Improvements and CR update

* CR Update: Remove google config

* CR Update: Remove erase tool test

* CR Update: Remove instance

* CR Update: Fix issue with undefined prop

* CR Update: Update yarn lock

* Hide actions of structure item

Co-authored-by: James A. Petts <jamesapetts@gmail.com>
Co-authored-by: dannyrb <danny.ri.brown@gmail.com>
Co-authored-by: igoroctaviano] <igoroctaviano@users.noreply.github.com>
Co-authored-by: Mirna Silva <mirna.silva@radicalimaging.com>
2020-04-09 11:21:43 +01:00
Erik Ziegler
8c8f69accb
Add option for setting maximum concurrent metadata requests (@ckedar), show series in panel before their metadata is retrieved (#1576)
* Show series in Study Browser before their metadata is retrieved

* Switch to decreasing for loop after code review (thanks @ckedar!)

* feat: Limit concurrent series metadata requests (#1581)

* Limit concurrent series metadata requests

* Switch to decreasing for loop after code review (thanks @ckedar!)

* Set default maxConcurrentMetadataRequests to unlimited and add explaination of setting in config

Co-authored-by: kedar.netelixir <kedar.choudhary@netelixir.com>
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>

* Address comments from code review

* Comment out misbehaving test

Co-authored-by: Kedar <ckedar@gmail.com>
Co-authored-by: kedar.netelixir <kedar.choudhary@netelixir.com>
2020-04-06 10:43:35 +02:00
Kedar
e41d339f5f
fix: avoid-wasteful-renders (#1544)
* Avoid un-necessary redux state update for frequent actions

* Avoid un-necessary re-render when no change in props

Co-authored-by: kedar.netelixir <kedar.choudhary@netelixir.com>
2020-03-23 14:31:39 -04:00
Anth Lubic
2747effd9e
fix: resolves #1483 (#1527) 2020-03-17 14:05:56 +01:00
Igor Octaviano
e8842cf8ae
feat: Segmentations Settings UI - Phase 1 #1391 (#1392)
* Filter segs and fetch correct metadata.

* Initiate seg loading logic on series load into viewport. Need to write.

* Automatic consumption of SEG functional.

* Pull in master.

* Fix issues after pulling in master.

* Clean up old segmentation handlers.

* WIP

* WIP

* Poppulate viewport with metadata.

* Show hide/segmentation in react-vtkjs-viewport.

* feat: 🎸 View segmentations in vtkjs viewport

* Filter segs and fetch correct metadata.

* Initiate seg loading logic on series load into viewport. Need to write.

* Automatic consumption of SEG functional.

* Pull in master.

* Fix issues after pulling in master.

* Clean up old segmentation handlers.

* WIP

* WIP

* Poppulate viewport with metadata.

* Show hide/segmentation in react-vtkjs-viewport.

* feat: 🎸 View segmentations in vtkjs viewport

* Rebase on master.

* format format format

* add basic extension parts

* Updated yarn lock

* Fetch derived/referenced displaysets in sidepanel

* Add buttons, expose seriesDescription, write notes for Danny.

* Add growcut tool extention. -> Move to a seperate repo.

* Change some text fields.

* expose dialog provider

* hide draggable area

* No pointer events for now; need to revisit

* Don't filter seg from the outset for now

* fiddling about

* fix path to series data

* fix logic to determine next available labelmapindex

* Ability to swtich between labelmaps

* Return a promise so we can make sure our labelmap is loaded before pulling metadata

* Better UI to toggle labelmaps

* Fix accidental untoggle of active labelmap for ui

* Remove brush tool from cornerstone extension

* Add cstools in preInit for seg extension

* Add buttons for seg magic

* Hide the measurements panel for now

* Slightly better seg/scissor icons

* Add eraser

* ability to switch segments

* seg color / switcher

* Fix vtk labelmap cache.

* sidepanel should scroll if there's overflow

* Use a fancier range slider

* Slightly prettier buttons

* Push in progress

* A bit more reactive; handle no-meta

* Update to vtk.js 11.14.0 and react-vtkjs-viewport 0.6.0

* chore: kickstart preview

* Fix conflict issues

* Refactor panel

* Isolate increment functions

* Wip segment table

* Hide selector and add scroll to segmentation

* Increase width of segment description

* Hide not used items

* Add new select for segmentations

* Align ui

* Fix default segmentation

* Fix broken import test

* Get measurements panel back and add spacing to grouped buttons

* Hide brush and selector and refresh when switching segmentations

* Add pointer events back and fix broken tests for measurement table

* Update segment list when switching humbnails

* CR Update: Minor UI adjustments

* CR Update: Set active segment

* Move components to components folder

* Add new settings ui

* Integrate configuration

* Improve styles

* Float numbers

* Improve css

* Refresh settings menu if side panel changed

* Fix settings rendering logic and remove comments

* Extract components

* Remove not used tools

* Remove non used extension

* Use style variables and remove comments

* Remove non used dep from lock

* Remove tools

* Remove segmentation from toolbar

* Add todo and brushradius from config

* Fix packagejson growcut import

* Remove webpack config already defined in parent

* Update package json description

* Change component name to british english to us

* Improve prop types

* Rename cornerstone label map event

* Scope css

* Extract and add doc to helper

* Update jsdocs for getDerivedDatasets

* Add proptypes and cr updates

* Update tablistitem proptypes

* config is readonly, rollback destructuring

* Remove event for side panel

* Add jsdocs for util

* Extract getimageid to studymetada

* Use ohif log instead of console

* Remove specific style from side panel

* Fix default props for brush radius

* Descructure configuration props from settings component to avoid invalid props

* Update proptypes to be required (settings)

* Update readme

* Remove commandsmodule

* Get configuration module inside the component

* Set selected segment

* Rename extension and use modality to filter

* Fix for failing tests (#1423)

* hello world

* Finish rebase for Igor.

* Re-fix cornerstoneTools version that got messed up in merge.

* Fix reactivity of isDisabled, write implementation for the SEG panel.

* Nuke yarn.lock to stack CST to 4.12.0

* Remove debugger statements.

* fix: bump cornerstone-tools version to address toFixed issue

* test: force tests for MISTER^MR to navigate to study directly

* test: remove eraser tool test

* test: count is off by one

* test: don't save SR state for the time being

* test: disable more tests

Co-authored-by: James A. Petts <jamesapetts@gmail.com>
Co-authored-by: dannyrb <danny.ri.brown@gmail.com>
Co-authored-by: igoroctaviano] <igoroctaviano@users.noreply.github.com>
Co-authored-by: Mirna Silva <mirna.silva@radicalimaging.com>
2020-03-13 15:45:26 -04:00
James Petts
1d85f7a74e
Instance metadata/metadata providers overhaul (#1481)
* Instance metadata plus metadata provider overhaul.

Fix consumption of wado-uri urls

fallbacks + datatype agnosticism.

WIP DICOMify things.

fix various issues with naturalized variable naming migration.

Remove metadata provider.

Fix consumption of multiframe images and addition of CWIL metadata.

Fix strange build issues.

Fix CWIL style windowWidth to array from naturalized DICOM.

Fix PT, CT, CR and DX issues for cornerstone + DX issues for vtkjs.

Move color palette fetching down to the natuaralized JSON level.

Remove unused StudyMetadataSummary

Remove redundant dicom metadata dictionary.

Working local + json routes.

Fix SR read.

Finished first round of testing + cleaned up debugging etc.

* data => metadata for instance naturalizedJSON

* Update dcmjs version

* Correct github isssues.

* Fix erroneously replaced files.

* Danny's recommended changes.

* Instance metadata plus metadata provider overhaul.

Fix consumption of wado-uri urls

fallbacks + datatype agnosticism.

WIP DICOMify things.

fix various issues with naturalized variable naming migration.

Remove metadata provider.

Fix consumption of multiframe images and addition of CWIL metadata.

Fix strange build issues.

Fix CWIL style windowWidth to array from naturalized DICOM.

Fix PT, CT, CR and DX issues for cornerstone + DX issues for vtkjs.

Move color palette fetching down to the natuaralized JSON level.

Remove unused StudyMetadataSummary

Remove redundant dicom metadata dictionary.

Working local + json routes.

Fix SR read.

Finished first round of testing + cleaned up debugging etc.

* data => metadata for instance naturalizedJSON

* Update dcmjs version

* Correct github isssues.

* Fix erroneously replaced files.

* Danny's recommended changes.

* Update JSON CI

* Update casing of import.

* Fix jump for SR.

* Fix unit tests for measurements service

* Fix json CI test.

* fix: update yarn lock

* Fix local non-encapsulated pdf view

* CI updated to new sucess message.

Co-authored-by: Danny <danny.ri.brown@gmail.com>
2020-03-09 19:03:23 +00:00
Danny Brown
ee80e02661
fix: bump react-cornerstone-viewport version to address critical issue (#1473) 2020-03-03 00:42:01 -05:00
Danny Brown
73e440968c
feat: lesion-tracker extension (#1420)
* chore: init lesion-tracker extension

* chore: dev build for lesion-tracker extension

* fix: a more appropriate library name

* chore: fix script naming
2020-02-06 14:04:18 -05:00