Git Product home page Git Product logo

Comments (4)

yhuang1997 avatar yhuang1997 commented on August 15, 2024

Sorry, I know little about boosting this time-consuming data preprocessing process. In my experience, it's normal to preprocess datasets of this magnitude like yours for a few days. However, it needs to be processed once so that it won't affect the speed of training or inference stages. If you still want to speed up the preprocessing, the latest nnU-Netv2 may help you. Our repository is based on nnU-Netv1, and codes of the preprocessing part may have improved in v2 (not sure).

I hope this helps you.

from 3d-cps.

steve-zeyu-zhang avatar steve-zeyu-zhang commented on August 15, 2024

Sorry, I know little about boosting this time-consuming data preprocessing process. In my experience, it's normal to preprocess datasets of this magnitude like yours for a few days. However, it needs to be processed once so that it won't affect the speed of training or inference stages. If you still want to speed up the preprocessing, the latest nnU-Netv2 may help you. Our repository is based on nnU-Netv1, and codes of the preprocessing part may have improved in v2 (not sure).

I hope this helps you.

Thanks for the prompt response.

I found something interesting.

When I switch the _get_voxel to the original _get_voxels_in_foreground in line 287, and it gets much more faster!

Is there any consequence for replacing the _get_voxel for semi-supervised learning based on your experience? I bet there is some since there must be some reasons why you re-write the _get_voxels_in_foreground lol.

Thanks.

from 3d-cps.

yhuang1997 avatar yhuang1997 commented on August 15, 2024

Sorry, I know little about boosting this time-consuming data preprocessing process. In my experience, it's normal to preprocess datasets of this magnitude like yours for a few days. However, it needs to be processed once so that it won't affect the speed of training or inference stages. If you still want to speed up the preprocessing, the latest nnU-Netv2 may help you. Our repository is based on nnU-Netv1, and codes of the preprocessing part may have improved in v2 (not sure).
I hope this helps you.

Thanks for the prompt response.

I found something interesting.

When I switch the _get_voxel to the original _get_voxels_in_foreground in line 287, and it gets much more faster!

Is there any consequence for replacing the _get_voxel for semi-supervised learning based on your experience? I bet there is some since there must be some reasons why you re-write the _get_voxels_in_foreground lol.

Thanks.

The only difference between these two functions is considering all voxels or foreground voxels. I overwrite it because there are no masks for unlabeled data, so finding the foreground of unlabeled data is impossible.

During this project, I also found something weird in preprocessing: All data (including unlabeled data) have masks automatically generated by nnU-Net after cropping. For labeled data, this mask is the ground truth you gave. But I'm a little vague about where are the unlabeled masks from. So you may not get any error when running the _ get_ voxel function for unlabeled data, but I suggest you check these 'magical masks' carefully.

Additionally, statistics information on voxel intensity calculated is just for the subsequent step of intensity normalization. You can also design your intensity normalization method to avoid this stage. Anyway, don't be bothered by this problem. I think it has little effect on the seg performance.

from 3d-cps.

steve-zeyu-zhang avatar steve-zeyu-zhang commented on August 15, 2024

Sorry, I know little about boosting this time-consuming data preprocessing process. In my experience, it's normal to preprocess datasets of this magnitude like yours for a few days. However, it needs to be processed once so that it won't affect the speed of training or inference stages. If you still want to speed up the preprocessing, the latest nnU-Netv2 may help you. Our repository is based on nnU-Netv1, and codes of the preprocessing part may have improved in v2 (not sure).
I hope this helps you.

Thanks for the prompt response.
I found something interesting.
When I switch the _get_voxel to the original _get_voxels_in_foreground in line 287, and it gets much more faster!
Is there any consequence for replacing the _get_voxel for semi-supervised learning based on your experience? I bet there is some since there must be some reasons why you re-write the _get_voxels_in_foreground lol.
Thanks.

The only difference between these two functions is considering all voxels or foreground voxels. I overwrite it because there are no masks for unlabeled data, so finding the foreground of unlabeled data is impossible.

During this project, I also found something weird in preprocessing: All data (including unlabeled data) have masks automatically generated by nnU-Net after cropping. For labeled data, this mask is the ground truth you gave. But I'm a little vague about where are the unlabeled masks from. So you may not get any error when running the _ get_ voxel function for unlabeled data, but I suggest you check these 'magical masks' carefully.

Additionally, statistics information on voxel intensity calculated is just for the subsequent step of intensity normalization. You can also design your intensity normalization method to avoid this stage. Anyway, don't be bothered by this problem. I think it has little effect on the seg performance.

Many thanks for the thorough answer! I'll keep an eye on those difference.

Cheers.

from 3d-cps.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.