GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||
GeezerVison is showing github.com — add `ImageVolumeGraphic` by kushalkolar · Pull Request #791 · fastplotlib/fastplotlib Conversation
|
|
took some 3d movie gen code from caiman to generate a 3d movie: 3d-2025-04-12_03.09.08.mp4 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
File [~\repos\fastplotlib\fastplotlib\graphics\features\_image.py:147](http://localhost:8888/lab/tree/demos/notebooks/~/repos/fastplotlib/fastplotlib/graphics/features/_image.py#line=146), in TextureArray._fix_data(self, data) 145 def _fix_data(self, data): 146 if data.ndim not in (2, 3): --> 147 raise ValueError( 148 "image data must be 2D with or without an RGB(A) dimension, i.e. " 149 "it must be of shape [rows, cols], [rows, cols, 3] or [rows, cols, 4]" 150 ) 152 # let's just cast to float32 always 153 return data.astype(np.float32) ValueError: image data must be 2D with or without an RGB(A) dimension, i.e. it must be of shape [rows, cols], [rows, cols, 3] or [rows, cols, 4] data = np.random.randn(50, 2, 448, 448) data.shape >> (50, 2, 448, 448) The ability to view a time-series with a 4th dimension would be nice here |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Also how difficult is something like |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
nevermind :) volume.world_object.world.scale_z = 15.0 Some other helpful tidbits: hlut = fpl.HistogramLUTTool(volume.data.value, volume) volume.interpolation = "linear" volume.cmap = "gnuplot2" fig[0, 0].docks["right"].add_graphic(hlut) fig[0, 0].docks["right"].size = 80 fig[0, 0].docks["right"].controller.enabled = False fig[0, 0].docks["right"].camera.maintain_aspect = False fig[0, 0].docks["right"].auto_scale(maintain_aspect=False) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Yes, looks like it is; it uses the same logic (in the shader) as the image. I have never encountered it in the wild though. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
ok all the basics are down, switchable materials, can change material props: vol-2025-06-04_03.34.28.mp4Need to figure out why regex is turning |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
In other news, the latest pycharm is full of bugs, wtf is this. Also it wanted to auto insert the old rst structured docstring template even though I configured it to do numpydoc format 🤮 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
All that's left is tests, 2D over time example, and RGB(A) examples. I also think I want to merge #849 and then rebase this so the examples will be much simpler. Also pygfx has non-orthogonal slicing: vol_slicing-2025-06-05_00.53.40.mp4 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
ok there's a bug in the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
The rendering at the edges is weird if one of the dims is larger than the 3d texture size limit so let's just not support this, I think the uses are very much rare edge cases. Also if the 3d texture size limit is 16,383, then 16384x16384x16384 with float32 is 17 TB which is more than any GPU that I know of can handle 😂 . |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
📚 Docs preview built and uploaded! https://www.fastplotlib.org/ver/volume-image |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
More tests for the TextureArray for volumes would be nice, but can do that later. I think tiling of volume is a rare edge case so if there is a bug it will affect very rare usecases not already covered by the tests. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Just some small comments, otherwise looks good to me
Very cool stuff!
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Amazing! @kushalkolar I'll test this out! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
@clewis7 gtg! 🥳 and then we can merge #904 once I make new ground truth screenshots for that and then #883 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.