Sorry, something went wrong.
|
That is a really useful example. I looked at it briefly and might expand it with sequence thumbnails and an asnyc/threaded data loader as I have a lot of different sequences in a dataset to evaluate but they are on a slowish network drive. |
Sorry, something went wrong.
|
If you can make a simple example that just uses imageio to load existing image files and just displays an ImageGraphic I think that would be simpler and I can merge it. I'm holding off on any PRs for ImageWidget until #951 That is a really useful example. I looked at it briefly and might expand it with sequence thumbnails and an asnyc/threaded data loader as I have a lot of different sequences in a dataset to evaluate but they are on a slowish network drive. Sequences, as in image sequences? Sounds like making a numpy-like interface for lazy loading is the way to go, we do it a lot in another project: https://github.com/apasarkar/masknmf-toolbox/blob/main/masknmf/arrays/array_interfaces.py |
Sorry, something went wrong.
|
📚 Docs preview built and uploaded! https://www.fastplotlib.org/ver/examples-imgui-filedialog |
Sorry, something went wrong.
| """Load an image file and update the graphic.""" | ||
| try: | ||
| img_data = iio.imread(filepath) | ||
| self._image_graphic.data = img_data |
There was a problem hiding this comment.
Need to create a new image graphic if the buffer shape doesn't match.
Sorry, something went wrong.
|
Sequences, as in image sequences? Sounds like making a numpy-like interface for lazy loading is the way to go, we do it a lot in another project: https://github.com/apasarkar/masknmf-toolbox/blob/main/masknmf/arrays/array_interfaces.py I got an easy solution by making the numpy array of the correct size as zeros (maybe even np.empty could work) and then I just write the pixel data into that using threading.Thread while the GUI already shows. Here the loading order is predetermined, so random jumps won't "lazy load". Will still look into the thumbnails when I have more time. |
Sorry, something went wrong.
| self._image_graphic.data = img_data | ||
| else: | ||
| # shape mismatch: remove old graphic and create a new one | ||
| subplot = self._image_graphic._plot_area |
There was a problem hiding this comment.
EdgeWindow has a figure instance so you can use that to get the subplot. Graphic._plot_area isn't part of the public API
Sorry, something went wrong.
WIP, Relies on #868, might be simplified by #849.
This example could save another synthetic dataset to png or mp4 to showcase loading different sizes / # of dims.
Could also instead copy the imgui_basic example for the UI and put the open file / open folder in a menu: