knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)

DICA

Distributional Independent Component Analysis (DICA) is a new approach that performs ICA decomposition on the distribution level, providing a unified framework for extracting features across imaging modalities with different scales and representations.

Installation

Install DICA with:

devtools::install_github("benwu233/DICA")

Example

The package includes example data for fMRI and DTI analysis.

data_path = system.file("extdata",package="DICA") 
write_path = "/path/to/output/"

fMRI

fmridata = oro.nifti::readNIfTI(paste0(data_path,"/fmri.nii.gz")) 
mask = 1 - is.na(fmridata[,,,1])

prep_data = prepfmri(fmridata,mask,40)
res_fmri = dica(prep_data, K = 20, L = 14, itr.max = 1000,verbose = TRUE)

write_ics(res_fmri$S,fmridata,mask, q = 0.95,paste0(write_path,"fmri"))

DTI

L_1 = oro.nifti::readNIfTI(paste0(data_path,"/dti_l1.nii.gz"))
L_2 = oro.nifti::readNIfTI(paste0(data_path,"/dti_l2.nii.gz"))
L_3 = oro.nifti::readNIfTI(paste0(data_path,"/dti_l3.nii.gz"))
V_1 = oro.nifti::readNIfTI(paste0(data_path,"/dti_v1.nii.gz"))
V_2 = oro.nifti::readNIfTI(paste0(data_path,"/dti_v2.nii.gz"))
V_3 = oro.nifti::readNIfTI(paste0(data_path,"/dti_v3.nii.gz"))

mask = (L_1!=0)
dtidata = get_dti(V_1,V_2,V_3,L_1,L_2,L_3,mask)
res_dti = dica(dtidata$X, K = 20, L = 14, tol = 1e-3,itr.max = 1000, verbose = TRUE)
write_ics(res_dti$S,L_1,mask, q = 0.95, paste0(write_path,"dti"))

References

Wu, B., Pal, S., Kang, J., and Guo, Y.(2021+) Distributional independent component analysis for diverse neuroimaging modalities. Biometrics. Accepted.

Wu, B., Pal, S., Kang, J., and Guo, Y.(2021+) Rejoinder to "Distributional independent component analysis for diverse neuroimaging modalities". Biometrics. Accepted.



benwu233/DICA documentation built on Oct. 2, 2021, 7:12 p.m.