You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think we can easily have multiple different reference spaces in one PlotArea using the Scene's world affine transform's scale, i.e. Scene.world.scale. Would be the way we do things like matplotlib's twinx functionality, but we can do it much more elegantly.
Also automatic linking with selectors to update the axes. Allow update the "reference space" ranges dynamically using a selector. For example, to show a zoomed in range of a large range in another subplot, update the axes dymically.
Played with things a bit, I think a better way is to scale the camera for a given reference space and not the scene!
A reference space can maybe be some simple abstraction of the PlotArea class, i.e. mulitple plot areas overlaid to create a subplot. Need to see how controllers and stuff works with this!
Issue with this is that it adds a new render call for every reference space 🤔
PlotArea should have a primary reference frame which is accessed using the current API, i.e. PlotArea.scene, PlotArea.camera etc. all point to the primary ReferenceFrame. All additional reference frames must be accessed explicitly. I think this makes sense, the majority of use cases involve just one reference frame and it would be tedious a big API change to always explicitly access the primary reference frame.
Not sure if PlotArea.auto_scale() and other similar function should only autoscale the primary reference frame or all reference frames? What should the methods for affecting all reference frames be? Such as for centering all frames so that their origins overlap?
It would be very useful to be able to have cameras or scenes (depending on how we implement this) at different scales, and then be able to pan and zoom in the main reference frame and have another controller that pans to the same worldspace position in another reference frame.
Example usecase: Here I wanted to understand the clipping behavior of the image in the top middle subplot ("Cb") and compare it with the border pixels (red rectangle) in the corresponding bottom middle plot ("Cb-skimage"). They are at diferent scales (the top one is subsampled by a factor of 2) but I still want to be able to pan and zoom the bottm and top together to compare them:
Activity
kushalkolar commentedon May 1, 2025
Played with things a bit, I think a better way is to scale the
camerafor a given reference space and not the scene!A reference space can maybe be some simple abstraction of the
PlotAreaclass, i.e. mulitple plot areas overlaid to create a subplot. Need to see how controllers and stuff works with this!Issue with this is that it adds a new render call for every reference space 🤔
kushalkolar commentedon May 1, 2025
Some things to think about:
Graphicis moved to another reference space, also move any selectors that have thisGraphicas their parent[-]Model space[/-][+]Superimposing Reference Spaces[/+]kushalkolar commentedon May 2, 2025
PlotAreashould have a primary reference frame which is accessed using the current API, i.e.PlotArea.scene,PlotArea.cameraetc. all point to the primaryReferenceFrame. All additional reference frames must be accessed explicitly. I think this makes sense, the majority of use cases involve just one reference frame and it would be tedious a big API change to always explicitly access the primary reference frame.Not sure if
PlotArea.auto_scale()and other similar function should only autoscale the primary reference frame or all reference frames? What should the methods for affecting all reference frames be? Such as for centering all frames so that their origins overlap?[-]Superimposing Reference Spaces[/-][+]Superimposing Reference Frames[/+]kushalkolar commentedon May 14, 2025
It would be very useful to be able to have cameras or scenes (depending on how we implement this) at different scales, and then be able to pan and zoom in the main reference frame and have another controller that pans to the same worldspace position in another reference frame.
Example usecase: Here I wanted to understand the clipping behavior of the image in the top middle subplot ("Cb") and compare it with the border pixels (red rectangle) in the corresponding bottom middle plot ("Cb-skimage"). They are at diferent scales (the top one is subsampled by a factor of 2) but I still want to be able to pan and zoom the bottm and top together to compare them:
kushalkolar commentedon Oct 18, 2025
Founds notes from meeting with Almar and Caitlin in June: