* 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>
* 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>
* 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>
* 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>
* 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>
* Use path instead of alias
* Add missing pacakges
* Use path in viewers
* Use path in contextProviders
* Add base to config
* Add conditionals for window
* Copy config to avoid breaking build
* Update and lock versions
* Update lock file
* Remove scaling config
* Fix broken versions of react date
* Fix broken dev
* 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>
* 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>
* 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>
When we have multiple SEGs/RTSTRUCTs we intend to load the most recent
by default.
BREAKING CHANGE: 🧨 However we start to load once the first set of metadata arrives. We need
to wait until all series metadata is fetched.
✅Closes: #1715
Co-authored-by: James Petts <jamesapetts@gmail.com>
* fix: 🐛 Load default display set when no time metadata
Load default displayset (first item in the array) when no series date or
series time availalbe
✅Closes: #1683
* Add batch update
* Fix tests.
Co-authored-by: James Petts <jamesapetts@gmail.com>
* 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>
* 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>
* 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>
* 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>
* feat: 🎸 MeasurementService
Work in progress...
* Remove cornerstone tools import
* Second iteration
* CR Update: Add update / added events example
* Add new props to measurements
* Update event log
* Add new measurementid to annotation
* Add context support
* Add value types
* Add area
* Add todo
* Wip measurement to annotation map
* Change points representation
* Add props to annotation mapping
* Add tests
* Extract formatter from init and add tests
* Sketch matchers
* Fix events and valuetypes imports
* Remove context support
* Rename formatter to mappings
* Sketching source and source definitions
* Adjust matching criteria in addOrUpdate
* CR Updates: Extract private functions and rename variables
* Fix broken tests
* Add more measurement service tests
* Update broken mapping tests
* Update test description
* Update getAnnotation to get mapping based on def and source
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* refactor: 💡 Clean up JSON launch with DICOMWeb server
Clean up JSON launch with DICOMWeb server
✅Closes: #1387
* Remove test file
* parse seriesinstanceuids in query
* Add default studies
* Remove test file
* Cleanup retrievedata changes
* Set active server
* 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
* feat: 🎸 Expose extension config to modules
Currently, only the preRegistration hook receives the extension's
configuration as a parameter. Providing getModuleFn's with the
extension's configuration, and all lifecycle/modules with the
application's configuration as rootConfig should open the doors to more
configurable extensions.
Closes: #1268
* CR Update: Pass extension and service config through extension manager preinit/getmodule
* CR Update: Remove appConfig from servicesManager
* CR Update: Remove appconfig variable
* 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.
* Organize viewports reducers
* Organize viewports actions
* Add local state to store dom node and remove hack
* Comment usage of dom in vtk
* Fix set of enabledElements
* Fix warning in html viewport
* Update docs for state
* Add commandsmanager to commandsmodule
* 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)