* 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>
* 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>
* 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>
* 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>
* 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>
* chore: init lesion-tracker extension
* chore: dev build for lesion-tracker extension
* fix: a more appropriate library name
* chore: fix script naming
* fix: Set VTK viewport as active by interaction
* feat: listen for vtkscrollevent in wrapper component
* fix: definitions can skip empty storeContexts key
* hoc to set/pass in commandsManager
* Bump minimum react-vtkjs-viewport version to leverage new event
* Simplify to use onScroll event instead of passing down commandsManager to base component
* fix: make sure we include @JamesAPetts bug fix
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
This dependency depends on the `favicons` library which depends on
`sharp` which depends on a native library.
This complicates the build process as the library is built from source
because there's no binary available for my macOS Catalina
installation. As this is a common developer setup I expect others to
run into this issue as well, which is why I opted to fix this issue.
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
Co-authored-by: Erik Ziegler <erik.sweed@gmail.com>
* 1316 - E2E tests for /local
* fix test title
* update yarn.lock
* Increased timeout for thumbnails
* Removing PDF file test from script-tag server
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* feat: 🎸 Configuration so viewer tools can nix handles
Adds a key to cornerstone configuration that allows to toggle on/off
handle rendering
Closes: #1223
* Update extension docs
* Update doc
* docs: include hideHandles configuration in our configuration docs
* chore: default to hiding handles for annotations
* chore: switch to drawHandlesOnHover to mimic legacy viewer functionality
* Flip logic for drawHandlesOnHover; reverse of hideHandles
* Don't hide the handles of ellipse or rectangle roi
* invert check
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* Move DICOMSR to @ohif/core
* refactor: 💡 Move DICOMSR code to @ohif/core project
We've just merged support for DICOM Structured Reports. Today, support
for this feature lives in the @ohif/viewer project in it's lib folder.
Ideally, it should be moved to @ohif/core and given a clear public API
and unit tests.
Closes: #1282
* Update imports
* CR Update: Update imports
* fix: Set VTK viewport as active by interaction
* chore: upgrade cypress to latest
* Revert "fix: Set VTK viewport as active by interaction"
This reverts commit b6e174c2def9d8f688a54d32053679788b9aaf76.
* ci: add record flag for master cypress runs
* feat: 🎸 DICOM SR STOW on MeasurementAPI
Closes: #758
* feat: 🎸 Adding the dataExchance from DICOM SR
* feat: 🎸 Fix some issues and get the retrieve measurements working
* feat: 🎸 Preventing measurement tool helpers to broke because the data is not Number (it comes as string from dcmjs)
* feat: 🎸 Adding a button to start testing SATE functionality
* feat: 🎸Small fixes into the code
* feat: 🎸 MAke sure we get latest SR in the study, even on lazyLoad mode
* Revert "feat: 🎸 Preventing measurement tool helpers to broke because the data is not Number (it comes as string from dcmjs)"
This reverts commit 4b3a1efb5810487d2319826fd59c03d779882b5e.
* feat: 🎸 Make sure after sync we update the viewports and also that annotation tools are set to passive, so it can be drawn in the viewports
* feat: 🎸 Remove console logs and start using OHIF.log
* feat: 🎸 Refactor measurement table to use Snackbar service of messages and make sure we only show save button if server type is dicomWeb
* feat: 🎸 Refactor to remove mocked wadoRoot and use server
* Fix to expose error once we can't save the SR
* Update DCMJS into latest dev version
* Update dcmjs with latest fixes
* Fix PR callouts
* Logging error on MeasurementReport creation
* Preventing from breaking on non supported tools and also warning that some toolType is not sopported
* Small error message update
* Expose better the errors and when we have unsopported tools into the measurements
* Renaming variable
* Expose dcmjs tool support check
* Change the way we warn the unsupportedTools
* Adding style to the button
* Small change on button style
* Fix git conflicts
* Fix after merge with latest master
* Fix after merge with master, btn was not clickable
* Fixing callouts
* Adding util functions into files and refactor with JSDocs
* Refactoring code, adding some basic JSDocs
* Bump dcmjs with latest version and fixes
* JSDocs and small refactors
* yarn lock file after dcmjs update
* Remove unused parameters
* Registering a plain copy of server into measurementAPI
* Small refactor
* Start changing from toolType to toolName
* Rename a function to get instanceMetadata
* Adding error if server is not DICOMWeb on retrieve
* Move snackbar outside of UI component and use UINotificationService
* Refactor and JSDocs
* Small fixes on JSDocs (style)
* Remove unused import
* Improve JSDocs on MeasurementApi
* Remove refactor leftover
* Improve JSDocs and propTypes
* JSDocs and small refactors
* Fix ExtensionManager bug and add test to bandaid
* Add tools configuration to extension manager preinit
* Fix reducing of configs
* Merge internal with external configs
* Merge internal with external configs
* Remove dialog from init in measurementstable
* Testing injected configuration
* New way to set config
* Add new prop to dialog provider to allow disabling last position
* Remove code from preinit in cornerstone
* Add new prop to dialog provider to allow disabling last position
* Add centralize to dialogs
* Reorder dialogs when adding them
* Fix draggable styles (cursor)
* Remove repositioning methods from labelling flow and remove overlay from labelling manager
* Fix empty array being set in bringToFront
* Add new command to update table and pass commands manager to modules/preinit hook
* Ad UIContextMenu service / factory
* Use new contextmenu service in measurementspanel extension
* Use dialogs for arrow annotate in default
* Remove positioning funcionality from tool context menu
* Add context menu service
* Pass commandsModule to extension
* Update edit description dialog and simple dialog to position relative
* Remove style code from labelling flow and manager
* Remove eventdata from labelling
* Remove labelling code from measurement init
* Add commandsmanager to provider
* Update contextmenu provider and service
* Add touchstart and mouseclick to hide contextmenu
* Hide labelling if click/touch
* Remove labelling and context menu dead code
* Fix undefined bug if ViewerMain grid has no children
* Fix broken prop on context menu
* Update commandsmodule based on master
* Fix broken configuration
* Update script tag config
* Remove cornerstone from toolcontextmenu
* Remove cornerstone from toolcontextmenu
* Split labelling and context menu providers
* Split labelling and context menu providers
* Update test
* Destructure extensions into new array
* CR Update: Move default arrow config to cornerstone instead of default
* CR Update: Fix app configuration props structure
* CR Update: Fix app configuration prop in script tag and extract commands manager from providers
* CR Update: Create custom providers to use commandsManager
* CR Update: Use services directly in measurementspanel
* CR Update: Pass components to providers
* CR Update: Remove position from dialog
* CR Update: fix dialog prop check
* CR Update: Fix comments
* CR Update: Update documentation
* CR Update: Add test default configuration
* CR Update: Add default empy array to extensions
* CR Update: Update i18n configuration all ot match current function configuration
* CR Update: Add defaults to injected dependencies in configuration and extension configuration
* CR Update: Add defaults to configuration with no args
* Update documentation
* CR Update: Add default for tools
* CR Update: Update config object to i18n
* CR Update: spread defaults
* CR Update: Add tool configuration example to cornerstone extension
* CR Update: Add tool configuration to netlify (testing)
* CR Update: Remove netlify config for tools
* CR Update: Rollback changes to i18n to be fixed later
* CR Update: Update documentation and pass whole cornerstone config object instead of tools key
SEE: https://www.conventionalcommits.org/en/v1.0.0/#commit-message-with-both-and-breaking-change-footer
BREAKING CHANGE: modifies the exposed react <App /> components props. The contract for providing configuration for the app has changed. Please reference updated documentation for guidance.
* Testing dialog
* Refactor modal and add dialog component to simple dialog
* Use existent dialog
* Expect event from getText callback (annotation)
* Bump cornerstone-tools version
* Use simple dialog
* bump cornersotne version
* CR Update: Update dialgo method names and default values
* CR Update: Bump overlay and show only if theres at least one overlay prop set to true
* CR Update: Use percentage over view height in draggable area
* Fix broken test vtk checks WWWC tool
* Comment test (non-deterministic)
* init
* use workbox-window
* Try to accomodate SW hosted at non root url
* v5 updated namespaces
* Test w/ no prompt
* add icons to manifest
* remove scope for now
* add icon tile information to entrypoint
* See if we can skirt by without a duplicate install
* shift client claims to skip waiting message
* Remove prepended slash
* comment out cache handler for now
* Simplify service-worker to skip waiting and install when a new worker is detected
* Use generated icons
* Update rollbar config
* feat: 🎸 Load spinner when selecting gcloud store. Add key on td
* feat: 🎸 Code review. Translate loading study status
* feat: 🎸 Code review. Minor code refactoring
* fix: add missing study and index declerations
* Newer version of react-dates (calendar input component)
* Add useMedia hook
* Add useDebounce hook
* Export hooks for consumption
* Pull search filter into own component
* StudyListWithData to StudyListRoute
* Rename pagination component
* Rename Toolbar
* CustomeDateRangePicker to plain ol' css
* Remove unused styles
* Misc
* Magic to make our "OR" filters work
* Play w/ Mobile styles
* Fix pagination pushing out max width for viewport
* Tidy up small and medium templates
* Remove unecessary nesting
* Better mobile header and logo styles
* Fix studyList font size
* Remove unused code
* hookup on click
* Fix table search selectors
* Cypress uses medium width
* Remove irrelevant test
* Fix primary sort
* Fix sort for our smaller displays
* fix study list sometimes longer than specified rowsPerPage
* Simplify date picker styles
* restore study date filters
* Fix about table styling
* fix take value for search
* Fix header sizing for viewer and list route
* Remove dead code
* Restore isLoading
* Update platform/ui/src/components/studyList/StudyList.styl
Co-Authored-By: Rodrigo Antinarelli <rodrigoantinarelli@gmail.com>
* Attempt first usage of translations w/ hooks
* Pull from react-i18n library
* Fit presets on to a single line
* add no results message
* Show error message in studyList table
* Update input selectors for e2e tests
* Make sure messages span all columns
* fix test selector for table results
* Skip hover for result rows
* fix imports
* Date filtering w/ config
* Default export
* Pushed to PageComponent
* Remove DropZone
This previously only worked for null/undefined studies. I'm unable to trigger the state by testing the data. This "might" have happened when using a fresh/empty PACS; but even an empty array of studies would not show
* feat: 🎸 Progressive volume loading for vtk viewport
Adds progressive volume loading for vtkjs viewport whilst the frames are
streamed from PACs and rebuilt in the volume.
Closes: closes#1051
* Update to react-vtkjs-viewport 0.3.0