Comments (3)
@djhoese Thank you for your answer. In meshvisual, it is indeed necessary to use optimization logic similar to that already present in ImageVisual to avoid the repeated creation of function object。If I have time, I would be happy to try and contribute to the code.
from vispy.
I agree. I think you're correct. I think this visual has not been optimized for this color logic which is surprising. I think @brisvag or maybe @tlambert03 did some work on the ImageVisual (
Lines 678 to 682 in b72a201
I think the original intention of the code or the idea behind it was that if you change the data then the colors array will also change (I'm not sure this is always necessary either). Since colors
is an input to the color transform creation it would make sense to assume that the color transform also always has to be updated. But you're right, when you look at it it clearly doesn't.
First, it would need to be updated so the function objects only get created once. I don't think there is a reason this shouldn't work. Next, it should be updated so if we already have a color transform but we are updating only the color limits, then just update the color limits. I think mocking this after the ImageVisual wouldn't be a terrible idea. This would mean something like a self._update_color_transform = True
and maybe a self._update_color_limits = True
. You can see in the ImageVisual
that it even cheats and sets the color limits early if the color transform doesn't need to be updated:
Lines 419 to 429 in b72a201
from vispy.
Yup, agree with the above! I don't have the bandwidth now to do with this, but if anyone wants to open a PR with this I'd be happy to review.
from vispy.
Related Issues (20)
- How to render canvas with original pixel values? HOT 13
- The case where the scan lines are parallel to the sides of the rectangle HOT 1
- Cannot find Quartz library on MacOS Sonoma HOT 18
- Issue with Image Clipping in Multiple Viewboxes HOT 3
- how can i disable the canvas border HOT 2
- No setter for some properties of Arrow or Line after instantiation HOT 3
- Question regarding datoviz, backends, gtk HOT 5
- destructive behaviour when lines overlap HOT 1
- Errorous behavior in Vispy.Visuals.Markers.set_data HOT 2
- grid solver constraint not working HOT 4
- Running vispy inside docker and not being able to access OpenGL drivers HOT 1
- Looking for additional maintainers HOT 12
- vispy flickering on Windows with real time data HOT 12
- How to use a canvas decorator inside a custom class HOT 2
- How to change shortcut for camera Interaction in vispy HOT 2
- VisPy does not work properly if QtWebEngineWidgets is imported HOT 4
- Outdated Vispy version with Debian 12 package HOT 2
- Having problems with TextVisuals and InstancedMesh HOT 9
- Memory usage keep increasing HOT 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vispy.