MIC-DKFZ / medicaldetectiontoolkit

The Medical Detection Toolkit contains 2D + 3D implementations of prevalent object detectors such as Mask R-CNN, Retina Net, Retina U-Net, as well as a training and inference framework focused on dealing with medical images.
Apache License 2.0
1.29k stars 296 forks source link

Custom dataset, data loader #86

Open MancaZerovnikMekuc opened 4 years ago

MancaZerovnikMekuc commented 4 years ago

Hi,

I have a custom 3D dataset. I have spent a lot of time trying to run preprocessing script on LIDC data but I still have some issues running preprocessing script - looks like my characteristic.csv file is not what it should be. Can somebody provide a description how the output of the script is formatted?

I want to run the maskrcnn on my custom 3D dataset which consists of volumes with voxelwise annotations.

Can somebody describe how the data should be formatted for the example dataloader? "Example Data Loader for the LIDC data set. This dataloader expects preprocessed data in .npy or .npz files per patient and a pandas dataframe in the same directory containing the meta-info e.g. file paths, labels, foregound slice-ids."_

From this I do not know how to format the data. Has anybody successfully ran the model on its own volumetric data with voxelwise annotations and can share the dataloader or some specificaton of the data formatting for the existing dataloader?

pfjaeger commented 4 years ago

you could generate the toy data and run some trainings on it. It will show you how the data is structured and read by the data loader.

MancaZerovnikMekuc commented 4 years ago

Thank you. I have done that. But I have multiple instances in one image. How to structure that kind of data? Also I would like to include patching. What and what form of data should be in variable "class_target" in meta_info_dict field created by preprocessing.py for your data_loader.py ? Also, I have 3D data, not 2D as in toy example.

lspinheiro commented 4 years ago

The toy data seems to only handle a segmentation example. Is there any documentation about how to generate bounding box labels?

thanhpt55 commented 4 years ago

@MancaZerovnikMekuc could you show me how to read image, label when begin train. As possible as you can give me the example data structure? Thank you

Gregor1337 commented 4 years ago

@MancaZerovnikMekuc

Thank you. I have done that. But I have multiple instances in one image. How to structure that kind of data? Also I would like to include patching. What and what form of data should be in variable "class_target" in meta_info_dict field created by preprocessing.py for your data_loader.py ? Also, I have 3D data, not 2D as in toy example.

themantalope commented 3 years ago

@Gregor1337 - very helpful. would be nice to have a documentation file with this information somewhere in the repo. It might also be useful to see how to structure this from a toy experiment that generates multiple ROIs for a single training example.