* Custom Select component
* Including inpot section
* Adding missing import sections on docz
* Change cursor once is disabled
* update date range color font
* 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
* 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
* Inital changes for study list filters
* Style updates on filter
* Small style changes on filter
* Style changes updates on Input and Label and finish fitler
* Refactor on study list filter
* Remove not used callbackFunction
* Small style change
* Adding underline on Learn more link
* Make sure does not show sortable if have no results
* Some style polish
* Fixing margin on filter
* Adding inherit as color on buttons
* Adding inherit on learn more button color
* Addin border with opacity
* Initial code for header
* Basic implementation for the header
* Updating icons
* Fix conflicts after latest changes on base branch
* Smnall refactor on header
* Small text-size change
* Remove comment
* Remove link from OHIF logo
* Fix cog/settings icon
* 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>
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>
* 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>
* Feat #1130 Adding support for downloading and zipping files
@ This is a combination of 12 commits.
- Feat #1130 Initial Commit
- Feat #1130 Adding support for hierachical lists
- Feat #1130 [WIP] Adding support for downloading and zipping files
- Feat #1130 Adding support for hierarchical folder structure study, series, instances on generated zip file
- Feat #1130 Adding unit tests and addressing code review feedbacks
- Feat #1130 POC (adding module to support on progress handling)
- Feat #1130 Improving logic from progress tracking utils
- Feat #1130 Renaming module with progress tracking utils
- Feat #1130 Beta version of Progress Tracking utils
- Feat #1130 Adding unit tests for Progress Tracking Utils
- Feat #1130 Documenting public methods from progress tracking utils module
- Feat #1130 Adding support for download and zip progress reporting
* Feat #1130 Addressing code review feedback
* Feat #1130 Preventing multiple downloads from executing at once
* Feat #1130 Improving error message for concurrent downloads
* Remove downloadAndZipSeriesOnViewports
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>
* 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>
* async load cornerstoneWADOImageLoader chunk
* Lazy initializing of CornerstoneWADIImageLoader - delayed till Viewer creation
* Async loading of react-vtkjs-viewport
* withCornerstone HOC to wrap routes requiring CornerstoneWADOImageLoader initiazation
* removed dead code in comments
* initWeWorkers is no more. Remove al its references.
Co-authored-by: kedar.netelixir <kedar.choudhary@netelixir.com>
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* fix: Add support for single entries in SequenceOfUltrasoundRegions. More than one region will need lower-level changes
* Update platform/core/src/utils/metadataProvider/getPixelSpacingInformation.js
Co-authored-by: Danny Brown <danny.ri.brown@gmail.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>
* Added verification on Before hook to avoid navigating again to viewer page
* Removed unecessary screenshots and duplicated test cases
* Navigation Fix for HTML extension and improved Flip button verification
Co-authored-by: Danny Brown <danny.ri.brown@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.
* 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>
* Replace class with className
* Start implementing UIDialogService
* Including UIModalService on dicomStorePicker
* Cleanup
* Remove unecessary divs
* Remove props not used
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* WindowLevel preset code changes
* Remove localStorage code as its already being saved and some small refactor on reducer/action
* Creating unit tests for preferences reducer
* Fix cypress after class naming change
* Make hidden false as default for tab components
* Remove addUserPreferences
* Small refactor to use commandsManager from getCommandsModule instead of getting it from App.js
* fix: Combined Hotkeys for special characters
* add record method to hotkey manager
* fix record plugin
* remove unused component
* add record to modal props
* rename record method
* replace handlers to use hotkeyRecord
* fix combined keys
* change expected result count from 18 to 17
* autoformat
* Remove duplicate test, that was testing the wrong things; fix label; update configs
* Revert "Remove duplicate test, that was testing the wrong things; fix label; update configs"
This reverts commit 4292f4fe67351962d61cae623b920dcbd87dd71d.
* Fix the record plugin's registration
* fix exposed record method usage
* adding logging for info level items
* Hotkey definitions don't need to be globally reactive; use localstorage/appconfig as sources of truth; not redux
* Tidy up test
* Remove unused code from UserPreferencesForm
* Log info when we run a command
* fix hotkey preference restore
* use application configured hotkeys if there are no user preferred
* Avoid logging circular ref
* Fix callouts
* Fix small issue with array
* Fix langua issue after refactor and merge
* Refactor on recordCurrentCombo as Rodrigo did before
* Separating components in 2 files
* WIP Refactor to simplify the user preferences and move into each form the save and controll functionalities
* Remove context
* Remove unused import
* Initial work on Field treatment
* Refactor General preferences
* Small refactor removing type from HotkeyField
* small update on style
* Refactor and layout fixed
* Make hotkeys preferences working with old hotkeys row
* Move error handling out of hotkey row/input component
* WIP custom form
* Moving validation function to component
* Exposing hotkeyRecord as it does not depend on HotkeyManager Class
* Making hotkeyField as much detached possible from parent component
* Small refactors
* Refactor on user preferences
* Clean up into the changes
* Small fix to let save working
* Style finish
* move about docs into about folder
* Fix double tap on single keys
* Style refactor
* Remove log
* Fix log issues on unit tests
* Fix unit test breaking on ohif/core index
* Fixing hotkeys unpause unit test issue
* Rename file to adopt lowercase
* Rename file to adopt lowercase
* Fixing callouts
* Big refactor miving some of the components into viewer and creating small components into ohif/ui
* Typo on folder name
* Updating ohif ui docs
* Remove comments
* Fix binding of combo keys
* Fix some cypress tests failures
* Fixing onCancel button
* Fixing e2e tests
* Small style update
* Fixing unit tests failing after fix issue
* Remove some not used code
* Remove left over after debug
* Adding prevent default on hotkeys events
* Fixinf existing hotkeys validator with 3 keys pressed
* Exposing hotkeys as root level on ohif-core
* Clean up
* Exposing all availableLanguages with labels and fixing an issue on language switcher
* Fixing e2e cypress tests
* Preveinting some simple errors
* Treating error once we try to set hotkey definitions
* Adding ui notification on setHotkeys errors
* Implementing a service queue request to hold until functions are implemented
* Making sure toFixed is only called on Numbers
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
Co-authored-by: Gustavo André Lelis <galelis@gmail.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>
* chore: init lesion-tracker extension
* chore: dev build for lesion-tracker extension
* fix: a more appropriate library name
* chore: fix script naming
* Remove tash data from redux storage after updates
* Imprelemnted more unit tests
* Remove missing comment
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>
* 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>
* fix: download tool fixes & improvements
* fix filename error
* Create variable to track erros
* Fix small console error
* Fix all conflicts and merge changes from latest master with this PR's improvements
* Small improvement on select and textinput labels
* Add new icon for unlink
* Refactor on download image modal
* Adding loading screen
* Fix translation issue
* Fixing aspect Ratio and E2E tests
* Allow empty value without setting to 0
* Remove eslint comments
* Fixing typos
Co-authored-by: Gustavo André Lelis <galelis@gmail.com>
Co-authored-by: Danny Brown <danny.ri.brown@gmail.com>