-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Training script for LINDA #21
Comments
Sure, here it is. This should be the file I used to create the model that currently comes with LINDA. It is simplistic and not well documented, that's why I did not publish it online. If you are going to train a model, you may want to think in terms of what features (images) you will use, and prepare them all in template space. LINDA currently uses the six features/images produced by getLesionFeatures. It is usually a good idea to normalize all features at 0-1 values, and maybe also preprocess them by truncating intensities to remove bottom 1% and top 99% values (typically outliers). Once you have your features/images, the I have tons of other files produced during the development of LINDA, but I don't want to confuse you with them. If you need any help, let me know. Some functions I used in the above script (i.e., Dorian |
Dorian, Thank you for your quick reply and for sending the script. I read your post and looked over the training script as well as the getLesionFeatures script. I really appreciate your offer to help, because to be completely honest, I will need your help for sure! It looks like the first step is for me to create my new feature images. I will focus on that for now. My understanding is that for each training T1 image I will be using, I will have to run getLesionFeatures and generate the 6 feature images that are required for LINDA training (5 images plus the T1 itself). Looking at the arguments, I see that getLesionFeatures requires the following inputs: img: T1 training scan It also seems that your getLesionFeatures script does the normalization and intensity truncating, at least for some of the feature images. Please correct me if I am wrong, but I am observing the following explicit operations: feat1: normalized but not truncated feat2: normalized but not truncated feat3: normalized and truncated feat4: not normalized, not truncated feat5: normalized and truncated feat6: not normalized, not truncated Are the feature images that are not truncated and/or normalized ok to leave as is? should I modify the script to explicitly normalize and truncate all 6 feature images? or are they maybe normalized/truncated implicitly (via another function) or in some other script? For the purposes of organizing the new feature images and getting them ready for training, it looks like the training script expects one folder per feature (all feat(i) images should be in one folder, i = 1 to 6). Am I reading this correctly? Ultimately, I would like to be able to replicate training LINDA successfully, including all necessary pre-processing steps, and I am happy to document the feature generation process, and the training process, and of course share that documentation with you so that it can be made available to everyone. Thank you! |
I thought you wanted to try new features, like DWI+T1+etc., but if you want to follow the same exact path of the current LINDA model that is fine. I don't foresee any major benefit of a personalized model with the current features though. What may be of interest is to focus on smaller lesions, in which case it might be a good idea to go up with the resolution at 1mm. The biggest failure of the current LINDA model is with tiny lesions. This is because it was trained on big lesions, and it expects early predictions at low resolution to give a good initial guess, which doesn't happen with small lesions; they need to gain importance later with models of higher resolution.
Those features are based on differences in patients of the corresponding template features. The template features come with LINDA and are located here:
Sounds right, but note that Feat 6 in LINDA, which is the T1 itself, is already normalized before going into
That was an ad-hoc choice, I used to like to have all features in separate folders. You can save them any way you like, as long as at the end you create the list structure that
Sure, that would be helpful to others, too. As I mentioned above, the most interesting outcome is a model with different type of data. I have some DWI+T1 acute data that can be used for that purpose, if it interests you or someone else (no time to build models myself currently). |
Dorian, Thanks for the comprehensive and detailed response. Let me clarify a few things:
Thank you! |
Ok, we can talk about the acute data when you have familiarity with these models. Good luck for now. |
That's exactly my plan. Thank you kindly! |
Dear Dorian,
In your FAQ's you mention that you have an example training script that you would make available upon request. I would like to re-train LINDA on some datasets that I have acquired. Can you please send me that training script? Will you be attaching it to a post or do you need to email it?
Thank you in advance!
The text was updated successfully, but these errors were encountered: