Comments (6)
The only pre-processing that should happen in the template script is N4BiasFieldCorrection, which is done if the -n
argument is 0 or unspecified. If N4 is run, it should appear in your job*.sh
files.
It's hard to gauge from screen caps how different the results are. There will be some run-to-run variability because of random sampling in the affine stage. Also, your output from the template script is registered to the previous template - after each set of pairwise registrations, the template is updated. After the last run, the final template is generated, so the registrations are out of date. However, you can find template (n - 1) under the intermediateTemplates/
directory. Registering the template input images (using the command precisely as written in job.sh) will be the closest you can get to doing the same thing.
Sharpening is done on the template, not the individual images, so that's not it. Dividing the images by their mean is done during averaging after registration.
from ants.
Also, your output from the template script is registered to the previous template - after each set of pairwise registrations, the template is updated. After the last run, the final template is generated, so the registrations are out of date. However, you can find template (n - 1) under the intermediateTemplates/ directory.
I think this is where the unexpected difference arises.
from ants.
Can you provide a complete collection of commands you have used, and examples of the inputs, outputs and clearly indicate what you thing is insufficient about the results.
from ants.
antsMultivariateTemplateConstruction2.sh
will write scripts called job_X_X.sh
that contain the exact call to antsRegistration
.
from ants.
Can you provide a complete collection of commands you have used, and examples of the inputs, outputs and clearly indicate what you thing is insufficient about the results.
Sure. I'll just show T1w images, but the template was construced using T1w, T2w, FA and MD.
-
This is the sharpened T1w I produced using this filter hoping to improve the performance (I did the same for T2w, FA and MD):
-
This is the subject's T1w warped to template as retured by
antsMultivariateTemplateConstruction2.sh
:
-
This is the subject's T1w warped to template using the unmodified template images and this command:
antsRegistrationSyN.sh -d 3 -o $pjdir/$line/T1w/${line}_T1w_brain_reg \ -f ${template_directory}/T1w.nii.gz -m $sbjdir/T1w_brain.nii.gz \ -f ${template_directory}/T2w.nii.gz -m $sjdir/T2w_brain.nii.gz \ -f ${template_directory}/FA.nii.gz -m $sjdir/fa.nii.gz \ -f ${template_directory}/MD.nii.gz -m $sjdir/adc.nii.gz \
-
This is the subject's T1w warped to template using the unmodified template images and the command saved in the
job_X_X.sh
script, as suggested by @cookpa in his comment:
Here I would have expected to get the same as 3), and that is pretty much the point I am trying to discuss here. Is there something else going on inantsMultivariateTemplateConstruction2.sh
before the command stored injob_X_X.sh
is executed (here is why I later attempted the sharpening)? -
This is the subject's T1w warped to template using the sharpened template images and using a command like the one used in 4):
The other attempts using normalised subject's images didn't help with matching 3) either.
To answer you, @gdevenyi , there is a noticeable difference in the cortical areas and that's where my attention will go for the next steps of my processing. The warped images retured by antsMultivariateTemplateConstruction2.sh
seem the most accurate and I would like to replicate that before extending the processing to subjects outside the population used to construct the template.
Thanks again,
Simone
from ants.
The only pre-processing that should happen in the template script is N4BiasFieldCorrection, which is done if the
-n
argument is 0 or unspecified. If N4 is run, it should appear in yourjob*.sh
files.
I noticed that, as the images were labelled as "Repaired", but the dataset I'm using is already preprocessed, so I left it out for now. I might include it, just in case.
Also, your output from the template script is registered to the previous template - after each set of pairwise registrations, the template is updated. After the last run, the final template is generated, so the registrations are out of date. However, you can find template (n - 1) under the
intermediateTemplates/
directory. Registering the template input images (using the command precisely as written in job.sh) will be the closest you can get to doing the same thing.
As @gdevenyi pointed out, sounds like this could be the clarification I was after. I'll just run a quick test using the (n-1) template. That would not be relevant when working with subjects outside the template population, but it will be hopefully a good way to confirm that this is what causes these differences.
Sharpening is done on the template, not the individual images, so that's not it. Dividing the images by their mean is done during averaging after registration.
I confirm I only sharpened the template's images (T1w, T2w, FA, MD). That step makes sense to me, although it didn't have much effect on the final result, as the template images would generally be smoother that the subjects'.
Thanks you both for clarifying. I'll run some more tests and I'll report here the results.
from ants.
Related Issues (20)
- Multivariate template construction with > 10 modalities HOT 2
- Deprecation of LabelGeometryImageFilter (used in LabelGeometryMeasures) HOT 12
- Optimizing EPI to T1 MPRAGE registration HOT 4
- Error message at antsApplyTransform HOT 6
- running ANTs binaries on a windows laptop reports error: "could not find VCRUNTIME140_1.dll" HOT 2
- ResampleImage usage HOT 3
- Building template in ANTs HOT 6
- Can't open the last modality with antsMultivariateTemplateConstruction2.sh HOT 3
- REQUEST: rewrite the readme? HOT 10
- A Question About Registration Issues Due to Extensive Brain Structure Absence Caused by Developmental Problems HOT 7
- how to interpret the transformation matrix? HOT 2
- use in docker HOT 4
- Atropos - Segmentation fault (core dumped) HOT 2
- About interpolation with tranfomation matric by Ants HOT 2
- Problem about brain extraction and segmentation HOT 2
- antsMultivariateTemplateConstruction2 itk:MemoryAllocationError on big computer HOT 17
- Atropos - Error when using 3 class tissue segmentation HOT 19
- antsMultivariateTemplateConstruction2.sh error "GLIBC not found" HOT 8
- ants的配准结果问题
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ants.