Coder Social home page Coder Social logo

insightsoftwareconsortium / itk-viewer-bootstrap-ui Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 6.0 13.89 MB

A UI frontend based on React Bootstrap

Home Page: https://itk-viewer-bootstrap-ui.readthedocs.io/

License: Apache License 2.0

HTML 5.09% JavaScript 87.68% CSS 7.17% SCSS 0.06%
bootstrap itk pydata react sphinx-doc xstate

itk-viewer-bootstrap-ui's People

Contributors

bnmajor avatar labdala avatar paulhax avatar thewtex avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

itk-viewer-bootstrap-ui's Issues

Overflow scroll UI

With an intensity image and a label image and a short viewer height, the elements go beyond the viewer. Perhaps we should scroll in this case? Or something better? Observed with itkwidgets. @PaulHax could you please take a look?

Slicer clicks not registered

With the latest itkwidgets (and itk-vtk-viewer, itk-viewer-bootstrap-ui), slider clicks are not registered:

slider-clicks.mp4

Deal with UI refs on the global state

Global state object should not have references to UI elements. But we may want dark mode and thats how its implemented now with performance impacts. Make a plan for this.

Performance (due to re-rendering?)

App startup is slow, and sliders are laggy.

We are re-rendering the whole component tree on any state change. With useSelector we should avoid that.

When parent components are sorted, check SampleDistanceSlider #10 (comment)

Fix shortcut capabilities

The shortcuts do not work when the user is interacting with the image.
To reproduce the issue:

  1. Click on a button;
  2. Type a shortcut key, such as p. This works as expected --- the object spins in 3D;
  3. Click somewhere in the 3D image;
  4. Type a shortcut key, such as p. This does not work as expected ---the object does not spin in 3D.

Expected behavior: all shortcuts should work in situations 2) and 4) .

Toggle Button feedback when clicked

When we click a "toggable" button like "Spin in 3D" the button takes focus, the background is light gray, and the button is toggled. Clicking the button again toggles the button, but the appearance does not change (because we are using dark gray background to indicated "isClicked" and the focus light gray background takes precedence.) Every time a button is clicked, we want the down/up feedback and its "isClicked" state to be visible.

The "annotation" button in commit 08aaa09 is almost there. 2 issues:

  • It is hard to tell if the button is checked when hovering with the mouse. Fix by having hover not change the background, instead show the border like with focus.
  • the "is checked" background is subtle. Lets darken the "checked" background style.

Lets make all our buttons constant with slightly modified "annotaiton" button above. Or something different? Open to ideas. Only big divergence from the react-bootstrap ToggleButton feel is the hover effect to avoid interfering with the "is checked" state:
https://react-bootstrap-v4.netlify.app/components/buttons/#checkbox--radio

Show 2D view and disable 3D view buttons when image is 2D

Right now, when loaded a 2D image, the viewer show the 3D volume rendering view.

When loading a 2D image, just show the 2D (Z slice) view right away. Hide the XYZ/Volume view changing buttons, hide the slice scrub sliders on the bottom.

Fix vite config

After commit b0e8aec, when I run npm run dev I get the error:

failed to load config from /home/local/KHQ/laryssa.abdala/sfw/itk-viewer-bootstrap-ui/vite.config.js
error when starting dev server:
Error: Cannot find module 'vite-plugin-css-injected-by-js'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.