NVIDIA / DALI

A GPU-accelerated library containing highly optimized building blocks and an execution engine for data processing to accelerate deep learning training and inference applications.
https://docs.nvidia.com/deeplearning/dali/user-guide/docs/index.html
Apache License 2.0
5.1k stars 615 forks source link

Pythonic TIFF Reader #1272

Open mrocklin opened 5 years ago

mrocklin commented 5 years ago

I'm migrating over an issue from RAPIDS here: https://github.com/rapidsai/cudf/issues/2727

It would be great to have a Pythonic GPU-enabled TIFF reader. TIFF is a common image format that is commonly used both in satellite imagery and scientific imaging fields. It has a well-defined (if somewhat poorly scoped) spec and should, I hope, be straightforward to implement.

I would expect the result of this to be something like a CuPy array, or at least something that satisfies the __cuda_array_interface__ protocol.

I'm not sure if this is in-scope for DALI, but I thought I'd ask.

There is a fair amount of content in the other issue. Folks may want to start there.

cc @OlivierNV @jakirkham @datametrician .

awolant commented 5 years ago

Hi, thanks for the question. We already support TIFF decoding. Using DALI you can send it to the GPU, but decoding itself is done on the CPU. We are in the process of enhancing this feature with #1264 to allow multi channel TIFFs. GPU-enabled TIFF decoding is not something we see feasible and not in DALI scope for now.

jakirkham commented 5 years ago

Do you support multipage TIFFs?

awolant commented 5 years ago

Currently we do not support multipage TIFF and #1264 will not add it. Could you tell a little bit about your use case and what data are you working with?

jakirkham commented 5 years ago

Multipage TIFFs frequently come up in areas where a very large image or a video are collected. One example is in microscopy where techniques like TEM, SEM, LLSM, etc. are capable of collecting TBs of data.

Could you explain a bit about why you don’t want to add this? Is it not feasible for some technical reason? Or is it deemed out-of-scope?

awolant commented 5 years ago

As far as I know there is no technical reason not to do that. @jantonguirao can probably tell more, but #1264 focuses on multi channels TIFFs.

We are open to add new features like this, but for now all our resources are allocated to other tasks. If you are willing to contribute we will be happy to help.

jakirkham commented 5 years ago

Ok sorry if I misunderstood. So this request is in scope and possibly doable, but not one you plan to implement, correct? Thanks for clarifying 🙂