-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite ImageView based on GtkReactive #115
Conversation
From reading the readme this looks really amazing. I'll be sure to try it out soon |
woa, this seems so much more complicated than ImageInTerminal.jl 😄 |
Nice work! Can't wait to give this a spin. |
It's really hard to compete with ImageInTerminal's elegance. 3d/4d is my niche! |
Motivated by the StreamingContainer type. view makes extra promises ("no copying") that can be hard to keep for some objects.
This is working well in my testing. I'll merge over the weekend barring objections. |
I did some quick testing, and it was very nice. I did run into an issue with the contrast control on macOS. Unfortunately, I don't have time to dig into it at the moment to give you a report-- perhaps in a few weeks. |
Thanks for testing. No problem about the report, presumably someone else will complain and hopefully that will be enough to figure out the problem. I want to come up with an easier API for linking two axes together, so there will be some additional changes later. But I don't think that needs to hold this up. |
Here's the NEWS entry, pasted for convenience (also, you can see the new README here):
New in 0.5
ImageView has been rewritten from scratch. Effort was made to maintain
backward compatibility where possible.
Breaking changes
imshow
has changed; it is now aDict
thatstores Gtk widgets, Reactive signals, etc.
Major features
This package now uses Gtk. Rendering is considerably faster in some
cases, and the package is faster to load due to precompilation.
Navigation and zoom region are controlled by GtkReactive/Reactive
signals, allowing one to more easily extract this information for
reuse elsewhere. Examples are shown in the README.
A new contrast GUI is independent of any plotting package, leading
to faster loading and faster time-to-first-plot.
One can now display objects that are not subtypes of
AbstractArray
. Seetest/cone.jl
for a demonstration.Deprecations
canvasgrid
now returns more arguments; a deprecation warningencourages transitioning to the new syntax
pixelspacing
is deprecated as a keyword (use anAxisArray
instead)The
xy
keyword has becomeaxes
, and it takes dimension integersor Symbols (if the image is an AxisArray)
<End of NEWS entry>
For me a major point of the rewrite was the ability to interactively "couple" images together, for example to show an original and segmented image side-by-side, and be able to zoom into the same region on both of them without any effort on the part of the user.
There aren't that many watchers of this package, so to give folks a fair chance to complain let me ping some people who have been active developers for the broader JuliaImages ecosystem: @Evizero, @bjarthur, @mronian, @tejus-gupta, @annimesh2809, @SimonDanisch, @ihnorton, @tkelman, @juliohm, @Cody-G, @tknopp, @mdhe1248.