Replies: 5 comments
-
Here are some thoughts on features:
@Leengit and I are developing a similar TensorFlow loader to create queued+prefetched tile streams https://github.com/DigitalSlideArchive/histomics_stream. This uses largeimage to interface with WSI files but we are looking at more performant alternatives like CuCIM or a DALI plugin. I think it provides some nice options for mapping between available and desired magnifications. |
Beta Was this translation helpful? Give feedback.
-
+1 for this concept. Repetitive code to load WSI is time consuming. |
Beta Was this translation helpful? Give feedback.
-
+1 Do we already have this? I'm seeing the prior works, data loading proccess for WSI is very inefficient, 90% of time is used for reading images, resulting low GPU utilities during training. |
Beta Was this translation helpful? Give feedback.
-
Any updates on this issue from the team? |
Beta Was this translation helpful? Give feedback.
-
Hello, I don't know if I can post this here, but I've developed a lightweight library for a personal project for easy handling of WSIs in training loops. I think it covers many of the topics discussed in this issue. https://github.com/gafaua/wsi-dataloader (Please remove this comment if this is not allowed) |
Beta Was this translation helpful? Give feedback.
-
MONAI Pathology might serve the community well by producing a DataLoader that can be pointed at a directory of WSIs and it can take care of the loading of the pixels and labels using the most efficient tools and techniques available. This would remove a lot of repetitive code that is often creates bottlenecks in the training or inference pipeline.
Since MONAI is based on PyTorch, this class would be subclassed from the standard DataLoader and would be compatible with other PyTorch techniques such as DistributedDataParallel, supporting multiprocessing. The actual loading could be undertaken by the most optimal loader for the file format, with a preference for leveraging the performance provided by cuCIM, but the ability to use the best component for the job.
There are a number of possible features this could support such as:
Feedback and ideas for features would be appreciated
Beta Was this translation helpful? Give feedback.
All reactions