Skip to content
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

Regarding DBM, in Jacobian group analysis #1794

Open
JinDJsuper opened this issue Sep 8, 2024 · 8 comments
Open

Regarding DBM, in Jacobian group analysis #1794

JinDJsuper opened this issue Sep 8, 2024 · 8 comments

Comments

@JinDJsuper
Copy link

Operating system and version

Ubuntu 20.04

CPU architecture

x86_64 (PC, Intel Mac, other Intel/AMD)

ANTs code version

ants-2.5.0

ANTs installation type

Compiled from source

Summary of the problem

I would like to know if using DBM methods for two-sample t-tests in group analysis has a significant impact when generating Jacobian data, specifically whether values like 1 0 or 1 1 have substantial effects. I have already generated Jacobian data for two groups. I want to know what software others typically use for analysis. I have tried using FSL's randomise and SPM for general linear model-based two-sample t-tests, but the results still show some differences. Do you have any suggestions for the DBM analysis process?

Commands to reproduce the problem.

CreateJacobianDeterminantImage 3 Warp.nii.gz LogJacobian.nii.gz 1 0 or
CreateJacobianDeterminantImage 3 Warp.nii.gz LogJacobian.nii.gz 1 1

Output of the command with verbose output.

Data to reproduce the problem

@ntustison
Copy link
Member

Have you seen this simple DBM example in our ANTsR/ANTsPy tutorial?

@JinDJsuper
Copy link
Author

Have you seen this simple DBM example in our ANTsR/ANTsPy tutorial?

Okay, this is the first time I've seen this. I will check out this example.

thank you

@JinDJsuper
Copy link
Author

Have you seen this simple DBM example in our ANTsR/ANTsPy tutorial?

hi,
I've got a good understanding of using ANTsR, and I've carefully reviewed the DBM example. Actually, the preprocessing and registration processes were all completed in ANTs. However, I still don’t fully understand the statistical analysis part. This example converts the Jacobian into a matrix and uses glm for statistical analysis. I want to know if it's possible to perform a two-sample t-test and include covariates, and how to interpret the results. For instance,
`> logJacobianPvalues <- dbm$pValue[5,]

logJacobianQvalues <- p.adjust( logJacobianPvalues, method = "fdr" )`
FSL or SPM usually generates a mask to show where significant changes are; does ANTsR have a command for this as well?

@ntustison
Copy link
Member

Do you know how to perform a two-sample t-test with covariates in R? The application in ANTsR is exactly the same. In particular, study these lines from the example:

> # Create simulated outcomes and covariates
> neuroCondition <- rnorm( numberOfSubjects )
> age <- sample( 40:70, numberOfSubjects, replace = TRUE )
> sex <- sample( c( 0, 1 ), numberOfSubjects, replace = TRUE )
> covariates <- data.frame( neuroCondition = neuroCondition, age = age, sex = sex, brainVolume = brainVolume)
> rformula <- "neuroCondition ~ age + sex + brainVolume + logJacobian"
> 
> # Run image-based regression
> dbm <- ilr( covariates, list( logJacobian = logJacobian ), rformula )

@gdevenyi
Copy link
Contributor

This summer school documentation on DBM methods in R may be of use
https://mouse-imaging-centre.github.io/summer_school2017/

@JinDJsuper
Copy link
Author

perform a two-sample t-test with covariates in R?

thank for your reply

I can use R to perform a two-sample t-test with covariates. I understand that you mean editing the data using a two-sample t-test. However, since this jacobian image has already been converted into matrix format, how should I interpret these results? Should I convert them into visual parameters, such as marking heatmaps in the brain?

@JinDJsuper
Copy link
Author

This summer school documentation on DBM methods in R may be of use https://mouse-imaging-centre.github.io/summer_school2017/

Thank you for your response.
I think this will be very helpful to me. I will carefully review the content on the website.

@ntustison
Copy link
Member

In the example, I added how to create an overlay image of the actual qvalues.

> # Create overlay q-value image
> logJacobianQvaluesImage <- matrixToImages( matrix( data = logJacobianQvalues, nrow = 1 ), rtemplateGM )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants