IABC: A Toolbox for Intelligent Analysis of Brain Connectivity

Brain functional networks and connectivity have played an important role in exploring brain function for understanding the brain and disclosing the mechanisms of brain disorders. Independent component analysis (ICA) is one of the most widely applied data-driven methods to extract brain functional networks/connectivity. However, it is hard to guarantee the reliability of networks/connectivity due to the randomness of component order and the difficulty in selecting an optimal component number in ICA. To facilitate the analysis of brain functional networks and connectivity using ICA, we developed a MATLAB toolbox called Intelligent Analysis of Brain Connectivity (IABC). IABC incorporates our previously proposed group information guided independent component analysis (GIG-ICA), NeuroMark, and splitting-merging assisted reliable ICA (SMART ICA) methods, which can estimate reliable individual-subject neuroimaging measures for further analysis. After user inputs functional magnetic resonance imaging (fMRI) data of multiple subjects that are regularly organized (e.g., in Brain Imaging Data Structure (BIDS)) and clicks a few buttons to set parameters, IABC automatically outputs brain functional networks, their related time courses, and functional network connectivity of each subject. All these neuroimaging measures are promising for providing clues in understanding brain function and differentiating brain disorders.


Introduction
Brain functional networks and connectivity reflect the functional integration of the brain, thus being important for understanding the brain and disclosing the mechanisms of brain disorders. Abundant studies have shown that brain dysfunctions are manifested by significant changes in functional networks/connectivity for brain disorders such as schizophrenia (Lai et al., 2021;Phang et al., 2020), Alzheimer's Disease (AD) (Lian et al., 2020;Venugopalan et al., 2021), Parkinson's Disease (PD) (Ghahremani et al., 2018;Kim et al., 2017), autism (Khodatars et al., 2021), and so on. Therefore, analysis of brain functional networks contributes to brain research and medical diagnosis of neuropsychiatric disorders.
Independent component analysis (ICA) as a data-driven method has been widely applied to the study of brain functional networks (Calhoun et al., 2001b;Cheng et al., 2017;Comon & Jutten, 2010;Hsu et al., 2018;Kamathe & Joshi, 2018;Zhang et al., 2019), each of which includes some functionally related but spatially remote brain regions. Superior to the regions-of-interest (ROI) based approaches (Neha & Gandhi, 2016;Wu et al., 2018) that measure functional interaction between pre-selected brain regions, there is no need of determining prior brain regions in ICA. The commonly used spatial ICA Sockeel et al., 2016;Xu et al., 2013a, b;Zhu et al., 2019) directly decomposes brain functional data into spatially independent components (ICs) to reflect brain functional networks. Importantly, the blind source separation ability of ICA makes it effective to separate artifacts from meaningful brain functional networks (Beckmann, 2012;Murphy et al., 2010), and this advantage enables the resulting networks free of the effect of noises to some extent while ROI-based methods often need additional noise removal before estimating interaction relationship between brain regions. Furthermore, ICA not only can yield spatial functional networks but also can estimate time courses (TCs) to reflect temporal fluctuation information of networks. That means functional network connectivity (FNC) (Arbabshirani et al., 2013;Stephan et al., 2017) can be further calculated using the TCs to represent the 1 3 relationship between functional networks. Taken together, ICA enables researchers to obtain neuroimaging measures from brain functional data at both spatial and temporal levels. Given the advantages of ICA in extracting brain functional networks /connectivity features, many studies have employed ICA to explore the brain function of both healthy (Bi et al., 2018;Madsen et al., 2017) and diseased populations (Du et al., 2015a, b;Salman et al., 2019) using resting-state (Meng et al., 2021) and task-related  functional magnetic resonance imaging (fMRI) data. In addition to detecting group differences among different populations using those ICA-derived neuroimaging features, exploring biomarkers based on ICA outputs using machine learning and deep learning techniques has attracted increasing interest and also achieved considerable success (Qureshi et al., 2019;Schmidhuber, 2015;Wu et al., 2022). In a word, ICA is a powerful method to provide qualitative and quantitative assessments of brain functional networks/ connectivity in the neuroscience field.
Although ICA has been frequently used for extracting functional networks/ connectivity, there are many challenges in applying ICA to brain functional data (e.g. fMRI). The first challenge is since ICA generates ICs that have random orders while working on individual-subject fMRI data, it brings difficulty in analyzing the fMRI data of multiple subjects. To address this problem, a series of group ICA (GICA) methods have been developed (Beckmann et al., 2009;Calhoun et al., 2001a;Calhoun & de Lacy, 2017) to guarantee the correspondence of networks across different subjects. Basically, these methods first estimate group-level components using data from all subjects and then compute subject-specific components using back-reconstruction (Calhoun et al., 2001a;Erhardt et al., 2011) and dual regression (Beckmann et al., 2009) techniques based on group-level components. However, GICA approaches do not explicitly optimize the independence of subject-specific ICs, which may consequently influence the accuracy of networks. Previously, we proposed a method called group information-guided ICA (GIG-ICA) (Du & Fan, 2013) that utilizes a multi-objective function optimization to emphasize the independence of subject-specific ICs and the correspondence of ICs across different subjects, thus improving the accuracy of obtained brain functional networks and relevant network features. It is also worth noting that GIG-ICA also works well for artifact removal, compared to the manner of removing noises by performing individual-level ICA on each subject . Many researchers applied GIG-ICA to their studies to identify biomarkers of brain disorders thanks to its effectiveness (Agcaoglu et al., 2019;Chen et al., 2020Chen et al., , 2021aOsuch et al., 2018;Salman et al., 2019;Shi et al., 2017). The second problem in ICA for the analysis of fMRI data is the difficulty of determining an optimal number of ICs . Although there have been various methods that can estimate the IC number from the data (Allen et al., 2012;Hu et al., 2020;Kairov et al., 2017;Kuang et al., 2018;Ray et al., 2013), different methods could result in disparate results. As such, how to generate reliable brain functional networks is still a critical problem. Recently, we proposed a splittingmerging assisted reliable ICA (SMART ICA) method (Du et al., 2021) that automatically performs clustering based on the outputs under different parameter settings (i.e., component numbers), consequently achieving functional networks that show high reliability across different settings. In addition, it is acknowledged that a method for the analysis of large-sample brain functional imaging data is necessary due to the demand for big data analysis. In our previous work, we proposed a Neu-roMark pipeline for the convenient network analysis of largesample fMRI data (Du et al., 2020a, b). NeuroMark showed a promising ability in identifying replicable biomarkers across different datasets, subtle differences in progressive disorders, relationships in complex and related disorders, and effective features in distinguishing similar mental disorders. Moreover, Neu-roMark has been applied for exploring the association between symptom severity and functional connectivity in patients with schizophrenia (Sendi et al., 2021), investigating differences in brain functional network connectivity between genders using intrinsic connectivity networks (ICNs) (Salman et al., 2019;Schreiner et al., 2019), and evaluating the association between dynamic functional network connectivity and the risk of AD (Dautricourt et al., 2022;Rashid et al., 2014;Wu et al., 2021).
In the paper, we introduce our user-friendly Intelligent Analysis of Brain Connectivity (IABC) toolbox that can estimate brain functional networks and relevant neuroimaging features using resting-state or task-related fMRI data. Based on some basic functions of Statistical Parametric Mapping (SPM), IABC integrates GIG-ICA, NeuroMark, and SMART ICA. IABC has a simple interface, friendly interaction, and convenient operation. IABC not only can output brain functional networks, temporal fluctuations of networks, and FNC between networks, but also can visualize the resulting brain functional networks and report their most related brain regions. These neuroimaging features are useful for exploring the brain function of healthy subjects as well as for providing indicators to disclose mechanisms of brain disorders.

Toolbox Overview
IABC is a Matlab-based toolbox available for Windows, Linux, and Mac OS platforms. It was programmed in the environment of MATLAB 2018b using GUIDE. The code of IABC is available publicly, and user can download it from NeuroImaging Tools & Resources Collaboratory (NITRC) at https:// www. nitrc. org/ proje cts/ iabc or the personal website at http:// www. yuhui du. com. The graphical user interface of IABC is shown in Fig. 1. In the IABC toolbox, we have integrated GIG-ICA, NeuroMark, and SMART ICA, and will include more ICA-related methods developed by our group or others. Regarding GIG-ICA, its strength is that the method can simultaneously establish the correspondence of ICs across different subjects and preserve the independence of subject-specific ICs for multi-subject fMRI analysis. Using NeuroMark, brain functional networks and related TCs of individual subjects can be automatically estimated with the guidance of brain functional network templates, which benefits the analysis of large-sample fMRI data. SMART ICA outputs reliable brain functional networks without the need of specifying a fixed component number, thus decreasing the subjectivity of results. Below, we will introduce the three modules of IABC in detail.

GIG-ICA Module
By inputting fMRI data of multiple subjects in Neuroimaging Informatics Technology Initiative (nifti) formats, the GIG-ICA module computes neuroimaging features such as brain functional networks, their related TCs, and FNC for each subject using the GIG-ICA method. Figure 2 shows the interface of the GIG-ICA module.
To facilitate the understanding of the GIG-ICA module, we explain the GIG-ICA method and its necessary parameters. GIG-ICA proposes a multi-objective function optimization, which not only optimizes the correspondence between the components of different subjects but also ensures the independence between the components of individual subjects. Compared with traditional GICA, GIG-ICA can yield the ICs with stronger independence and correspondence as well as higher spatial and temporal accuracy (Caldwell et al., 2019;Salman et al., 2017). The flowchart of the GIG-ICA method is displayed in Fig. 3. First, it extracts group-level ICs from the preprocessed fMRI data of multiple subjects. Two-step principal component analysis (PCA) at the subject-level and the group-level is performed on fMRI data for dimension reduction. In the toolbox, the component number used in the two-step PCA is set to the same. Then, ICA (Infomax algorithm) (Bell & Sejnowski, 1995) with ICASSO technique (Himberg et al., 2004) is used to extract the group-level ICs. Next, after removing the artifact group-level ICs, the individual-level ICs of each subject are computed with the guidance of meaningful group-level ICs (i.e., group-level brain functional networks) based on a multi-objective function optimization to simultaneously optimize the independence between individual-level ICs and the correspondence between individual-level networks and the group-level networks. As such, the brain functional networks and their associated temporal fluctuation are calculated using GIG-ICA. The associated TCs can be further used for estimating FNC (Jafri et al., 2008). In the following, we will describe the primary functions of the GIG-ICA module to let user understand its usage. Table 1 summarizes the steps of GIG-ICA, the parameters that require user to input, the related output files, and their formats for a better understanding.

Participant Data Loading
When user clicks the button corresponding to "Working Directory", the toolbox pops up a dialog box for user to select the working path (i.e. the master directory) where data are saved.
Efficiently, user should organize data as a master directory → a subject folder → nifti files of the subject. That means Fig. 1 The graphical user interface of IABC 1 3 each subject's preprocessed neuroimaging data (e.g., fMRI) should be saved in nifti files in one folder. In addition, data in Brain Imaging Data Structure (BIDS) (Holdgraf et al., 2019;Niso et al., 2018;Pernet et al., 2019) also can be processed by our toolbox for analyses. BIDS is a widely used data organization protocol. Each file in BIDS is named strictly according to a series of keywords such as the information of subject ID, session, task or resting, and time of repetition (TR). After selecting the working path and 'BIDS to IABC', the toolbox further requires user to select the information of session, task, and TR for determining which data in BIDS will be analyzed by the toolbox, and then the toolbox automatically reorganizes the selected BIDS data.

Brain Mask Generation
Since ICA should be performed using fMRI data within the brain, the module provides an entrance for user to select an existing brain mask or generate a brain mask according to their fMRI data using our method (Du et al., 2020a). The brain mask will be used for the following GIG-ICA. Easily, user can select the mask from the "Brain Mask Selection" drop-down list box according to their needs. If user clicks "Use your brain mask," the toolbox will provide a button to select the brain mask specified by user. If user clicks "Use brain mask generated by the toolbox", the toolbox will automatically generate the corresponding brain mask using the following manner. The flowchart of brain mask generation is shown in Fig. 4.
Basically, there are five specific steps for generating the brain mask. (1) Calculating a brain mask for each subject. The toolbox takes the brain image matrix of each subject at the first time point to calculate the mean value. If the value of the brain image matrix is greater than 90% of the mean value, the value of the subject's brain mask corresponding to the voxel position will be set to 1, otherwise, set to 0.
(2) Generating the group-level brain mask. If more than 90% of the subjects' brain mask value on a certain voxel is 1, the toolbox sets the value of the corresponding voxel position of the group brain mask to 1, otherwise, set to 0.
(3) Excluding some subjects by calculating the correlation between the group-level brain mask and each subject's brain mask and discarding some subjects with low-quality data. The toolbox calculates the Pearson Correlation Coefficient between the group-level brain mask and each subject's brain mask in the top ten slices, the bottom ten slices, Fig. 2 The graphical user interface of the GIG-ICA module 1 3 and the whole brain, and retains the subjects whose correlations are greater than the thresholds (0.75, 0.55, and 0.8 for the top, bottom, and the whole brain, respectively). (4) Recalculating the group-level brain mask based on the fMRI data of the remaining subjects. The toolbox uses the retained subjects' fMRI data to recalculate a new group-level brain mask according to step 2. (5) Obtaining the ultimate brain mask. The toolbox outputs the overlapped mask between the group-level brain mask and the brain mask in SPM 12 as the final brain mask. Fig. 3 The flowchart of the GIG-ICA method for analysis of multi-subject fMRI data. Stage 1 is for the group-level ICA on temporally concatenated fMRI data, stage 2 is for artifact removal, and stage 3 is for the subject-level ICA, guided by the meaningful group-level components Table 1 The steps of GIG-ICA, the parameters for user input, the related output files, and their formats

Steps of GIG-ICA Parameters for user input Related output files Format of output files
Participant Data Loading data in a regular format or data in BIDS SubjectInfo txt Brain Mask Generation select an existing brain mask or generate a brain mask by the toolbox

Group-level ICA
The parameters used in the GIG-ICA module include the number of principal components in PCA performed on fMRI data at the individual-level as well as the number of ICs in ICA performed on the reduced data. User should input the number of ICA and PCA. The number of PCA should be set to a big number than the number of ICA. Note: The number of ICA components is the same as the number of group-level PCA dimensionality reduction, so there is no need to input the number of components for the group-level PCA dimensionality reduction. Although there are some rules to estimate a component number of ICA based on fMRI data (Abou Elseoud et al., 2011;Hu et al., 2020;Kuang et al., 2018;Ray et al., 2013), researchers often empirically select a small number between 20-40 for the low-model order ICA and a bigger number between 70-120 for the high-model order ICA. While the lowmodel order is more suitable for representing functional network maps Jarrahi, 2021;Littow et al., 2010), the high-model order is more often used for FNC estimation (Iraji et al., 2019) where a single IC tends to correspond to small brain region.

Artifact Removal of Group-level ICs
It has been well-acknowledged that ICA is a powerful tool for artifact removal (Khorshidi et al., 2014). Our previous work showed that group-level artifact removal is a better and easier way than individual-level artifact removal . The GIG-ICA module allows user to select meaningful group-level networks before the computation of individual-level ICs. User can view the spatial maps of the ICs in the result path to determine which group-level ICs are retained for computation. When the group-level components are calculated, the toolbox will automatically pop up a window to select artifacts, and user can view the group-level components in the result file and remove artifacts-related IDs.

Computation of Individual-subject Brain Functional Networks
After removing the group-level artifact components, the GIG-ICA module will automatically compute subjectspecific networks for each subject based on the meaningful Fig. 4 The generation process of a brain mask.
Step 1 is for calculating an individual brain mask for each subject.
Step 2 is for generating the group-level brain mask.
Step 3 is for excluding some subjects with low-quality data.
Step 4 is for recalculating the group-level brain mask.
Step 5 is for obtaining the ultimate brain mask by overlapping the group brain mask and SPM 12 brain mask group-level ICs. Once brain functional networks are obtained, it is necessary to locate the relevant important brain regions and explain their primary brain function, which would greatly help researchers to explore the results.
Since researchers have been working on brain parcellation based on microstructure, macrostructure, and connectivity features, our toolbox identifies the relevant brain regions in each functional network by calculating the overlap between the brain regions of the classical brain atlas and the activated regions in each functional network. Automated Anatomical Labeling (AAL) (Tzourio-Mazoyer et al., 2002), Automated Anatomical Labeling 3 (AAL3) (Rolls et al., 2020), and BrainNetome Atlas (BNA) (Fan et al., 2016) are included in the current version for the computation. Each of these atlases can be used to extract the most relevant few regions for each network. Our toolbox provides a visualization function for the obtained brain functional networks. To view the individual functional brain networks, user can click the "View Results" button and then click "Components". In the window that then pops up, user should select the path that is used to save the results, select the atlas used for the region computation, and set the number of regions that they would consider in each network. The toolbox will calculate and display the names of important relevant brain regions of the atlas and the proportions in those regions for the functional network. The relevant region names are sorted according to their proportions, and the region with the biggest proportion is taken as the name of the functional network.

Computation of Individual-subject Functional Network Connectivity
There is evidence that many mental disorders show dysfunctional connectivity (Chahal et al., 2020;Toenders et al., 2019;Turpyn, Niehaus, Gonçalves, & Jenness, 2020). FNC is superior to region-of-interest (ROI) based functional connectivity thanks to its powerful data-driven ability and essential property of denoising in ICA (Yu et al., 2018). Based on the resulting functional networks' TCs of a subject, a FNC matrix (called static FNC) (Jafri et al., 2008;Stephan et al., 2017) can be obtained by calculating the correlations between the whole TCs of different networks, and time-varying FNC matrices (called dynamic FNC) (Du et al., 2015a;Hsu et al., 2018;Park et al., 2017) also can be obtained by calculating the correlations between the windowed TCs. Both static and dynamic FNC can be used for further extracting features to explore biological markers of mental disorders (Amann et al., 2016;Du et al., 2018;Shen et al., 2018;Stephan et al., 2017;Xia et al., 2019) as well as to understand the brain in healthy populations (Hrybouski et al., 2020;Park et al., 2017;Rashid et al., 2014). Our toolbox calculates FNC measures of each subject based on the TCs of functional networks, providing an opportunity of utilizing FNC as neuroimaging measures. Our toolbox will automatically calculate the FNC between all obtained individual-level ICs for each subject and save it in the resulting path. User can view the real-time results by clicking the "View Results" button. In the window that pops up, user could specify the subjects that they want to check, and randomly select the ID of the ICs to calculate the FNC of the selected ICs.

Result Output
The GIG-ICA module outputs the brain functional networks, networks' TCs, and FNC. First, the subjects' IDs in this analysis are saved in the txt format and named Sub-jectInfo.txt. In addition, no matter whether user chooses to use her/his own brain mask or the brain mask generated by the toolbox, the toolbox saves the brain mask in the nifti format (named CommMask). After removing artifacts of initial group-level ICs, the toolbox saves meaningful grouplevel ICs in the form of nifti, mat, and tif (stored in a folder named GrouplevelICs). At the same time, the IDs of the removed artifacts are stored in the ArtifactsIDs folder. For each subject, the toolbox saves each individual-level brain functional network in the form of mat file, nifti file, and the corresponding tif image, while the correlation between each group-level network and corresponding individual-level network is calculated and then saved in a txt file named Coefficient. Moreover, for each subject's TCs and FNC, the toolbox saves the mat files and the corresponding tif images. Furthermore, if user chooses to use BIDS data, a folder named 'BIDS_IABC' is generated in the output file to save the converted data by our toolbox. For clarification, Fig. 5 displays the output structure of all results from the GIG-ICA module.

NeuroMark Module
Similar to the GIG-ICA module, it computes and saves brain functional networks, related TCs, and FNC of each subject. The interface of the NeuroMark module is displayed in Fig. 6. We simply explain the NeuroMark pipeline here. NeuroMark estimated two groups of brain functional networks respectively using large-sample fMRI data from the Human Connectome Project (HCP,http:// www. human conne ctome proje ct. org/ data/) (823 healthy subjects) and the Genomics Superstruct Project (GSP, https:// www. nitrc. org/ proje cts/ gspda ta) (1005 healthy subjects) by running ICA with ICASSO technique (Himberg & Hyvärinen, 2003), and then identified the highly matched reproducible 53 networks between the two groups after discarding artifacts-related components. After that, the resulting 53 reliable networks were grouped into seven functional 1 3 domains by experts, so that they can represent standard functional network templates of the brain. Based on the fMRI data of each subject, the NeuroMark pipeline calculates the brain functional networks, the TC related to each network, and the FNC measures according to the reliable brain network templates that were used as guidance for the computation. The basic steps of NeuroMark are illustrated in Fig. 7. Although there have been different network templates or brain parcellation approaches, the NeuroMark templates have been widely used in different studies and shown their powerful ability and successful performance in the neuroscience field (Adalı & Calhoun, 2022;Fu et al., 2021;Sendi et al., 2021), probably because our network templates were obtained not only using a purely data-driven manner but also using two datasets with disparate properties. Different from combining the two groups of data into one larger dataset to extract one group of functional networks as the templates, we preferred to extract the reproducible networks as templates. The reason is that our experience supports that as long as the data samples reach to hundreds level, two-step PCA followed by one ICA (even with multiple runs to get reliable components) cannot lead to more information in terms of functional networks when the data quantity increase. That means the group-level networks will be almost the same between using hundreds of data and using thousands (or more than ten thousand) of data. Therefore, we think reproducibility across different datasets should be paid more attention than data quantity when using ICA for the generation of network templates. In the following, we will describe the primary functions of the Neuro-Mark module. Table 2 summarizes the steps of NeuroMark, the parameters that require user to input, the related output files, and their formats for a better understanding.
In the following, we will introduce the primary functions of the NeuroMark module.

Participant Data Loading
The NeuroMark module requires the same data organization and loading manner as the GIG-ICA module. Similarly, Neu-roMark can also convert BIDS data into the file organization required by IABC. So we will not repeat the procedure here.

Brain Functional Network Templates Input
The NeuroMark module provides an interface to let user inputs prior network templates. The default templates include 53 brain functional network templates developed by our original NeuroMark pipeline (Du et al., 2020a, b). Please see Fig. 8 for the spatial maps of those templates. The toolbox mapped the 53 templates to seven brain functional domains, including the subcortical, auditory, sensorimotor, visual, cognitive control, default mode, and cerebellar domains. In addition to using the provided network templates, user also can use their network templates as input. User can determine the networks of individual subjects that they want to compute by selecting the ID of the template. Figure 8 includes the template IDs in each functional domain. Our NeuroMark module provides user with a function for viewing templates. When user clicks the "View spatial map" button on the main interface and enters the template ID they want to check, the toolbox will display the corresponding brain functional network according to the input, and user can view each network from different views by selecting different slices.
About Template Selection, User can click the button "Component Templates" to select brain functional network templates. If user clicks "Use our Components", the 53 component numbers obtained by the toolbox according to the NeuroMark method will be displayed in the "Component IDs", and user can add or delete the component numbers. If the edited component numbers contain noise components, the toolbox will notify user of possible noise components and terminate the execution of the program. If user chooses "Use your Components", the toolbox will display a panel box for selecting the brain functional network template and input component ID. In this panel box, "Component Images" provides user with a selection of brain functional network templates, and "Component IDs" are the component IDs for the network guidance. The component IDs should be separated by commas or spaces.

Brain Mask Generation
In the NeuroMark module, user can choose an existing brain mask or use the toolbox to automatically calculate a brain mask according to their data. Except for the last step, the manner to generate a brain mask is as same as that in the GIG-ICA module. Neuromark uses each brain functional network template as a reference to obtain individual-level components, so in the last step of obtaining ultimate the brain mask, the NeuroMark module outputs the overlapped mask between the group-level brain mask and the network templates related brain mask as the final brain mask.

Result Output
The NeuroMark module outputs the brain functional networks and networks' TCs for each subject. For the brain mask, NeuroMark stores the used brain mask in the name of CommMask. Besides, the intermediate files during the running process are also saved. These intermediate files include the original templates (named TemplateComponentX) selected by user and the templates (named rTemplateCom-ponentX) after reslicing process. Moreover, NeuroMark also outputs the brain functional networks and TCs of each subject. Each brain functional network is saved in the format of nifti, Fig. 6 The graphical user interface of the NeuroMark module Fig. 7 The flowchart of the NeuroMark method.
Step 1 is for computing reliable ICs from two independent datasets of HCP and GSP.
Step 2 is for matching components and identifying reproducible intrinsic connectivity networks as the network templates.
Step 3 is for estimating subject-specific brain functional networks based on the network templates Table 2 The steps of NeuroMark, the parameters for user input, the related output files, and their formats

Steps of NeuroMark Parameters for user input Related output files Format of output files
Participant Data Loading data in a regular format or data in BIDS SubjectInfo txt Brain Mask Generation select an existing brain mask or generate a brain mask by the toolbox mat, and tif, and TC is saved in the format of mat and tif on the hard disk. The output structure of all results from the NeuroMark module is shown in Fig. 9.

SMART ICA Module
In practice, it is difficult to estimate or determine the number of components for ICA in the neuroimaging application. To overcome the problem, recently we propose a method called SMART ICA (Du et al., 2021;He et al., 2022) to automatically extract reliable brain functional networks without the need for a specific model order (i.e. component number) of ICA based on the multi-model-order ICA results. By inputting fMRI data and a range of ICA model orders, the module will result in reliable group-level functional networks and corresponding subject-specific functional networks. The interface of SMART ICA is shown in Fig. 10. The SMART ICA mainly includes three steps, including obtaining multi-model-order ICA results via two-step PCA and ICA, generating reliable group-level functional networks by the proposed clustering method, and getting subject-specific functional networks by GIG-ICA, as shown in Fig. 11. In Step 1, the toolbox performs subject-level and grouplevel PCA and group-level ICA with different model order settings to obtain initial group-level ICs. For each model Fig. 8 NeuroMark templates. In each subfigure, we show the network templates that belong to one functional domain, with each network being displayed using one color. There are seven functional domains including the subcortical, auditory, sensorimotor, visual, cognitive control, default mode, and cerebellar domains (Du et al., 2020a, b). We include the component IDs related to each domain order setting, the following procedures are performed. Based on fMRI data, two-step PCA at the subject-level and grouplevel is utilized to reduce data dimensions and retain the principal components. Then, the toolbox implements the (Infomax) ICA algorithm to decompose the principal components and obtains initial group-level ICs. Here, the model order of two-step PCA and the ICA are set to the same. To sum up, across all settings in the range of model orders given by user, our SMART ICA module obtains multi-model-order ICA results based on fMRI data. In Step 2, the multi-model-order resulting ICs are automatically clustered by SMART ICA to obtain reliable group-level networks, and the adjacency relations of the multi-model-order resulting ICs are obtained. Our proposed clustering method incorporated in the SMART ICA module combines a splitting and merging method (Lei et al., 2016) and a complex network simplification method (Bai et al., 2018), consequently yielding the cluster centers to represent reliable group ICs. First, the absolute values of Pearson correlation coefficients are calculated to represent the complex relationship between all components. Then, the complex network simplification method reconstructs the complex relationship between all components in the form of a tree structure. The resulting tree structure represents the adjacency relations of multi-model-order ICA results. Finally, the clustering process is carried out based on the tree structure. The detailed clustering process is a splitting and merging operation loop performed until the tree structure is not changed. The rule of splitting is as follows: for each cluster, if the intra-cluster distance of a cluster is greater than twice the average inter-cluster distance, the cluster will be split by using the tree-based cluster method. For a cluster, the intra-cluster distance is defined as the sum of the distances between the cluster center and the two ICs, which are the nearest and farthest ICs from the cluster center. The rule of merging is as follows: for any two clusters, if the distance of the two cluster centers is less than half of the average intercluster distance, the two clusters will be merged by using the complex network simplification method. By Step 2, the reliable group-level networks and the adjacency relations of multi-model-order ICA results are obtained. In Step 3, taking reliable group-level networks as guidance, the toolbox adopts the GIG-ICA optimization term to obtain the subject-specific functional networks based on the fMRI data of individual subjects. The GIG-ICA optimization term, as depicted in the section of the GIG-ICA module, can obtain subject-specific functional networks and related TCs by optimizing the independence of subject-specific functional networks in each subject and the correspondence of subject-specific functional networks among different subjects. In the following, we will describe the primary functions of the SMART ICA module to let user understands its usage. Table 3 summarizes the steps of SMART ICA, the parameters that require user to input, the related output files, and their formats for a better understanding.

Participant Data Loading
The SMART ICA module has the same data organization and loading manner as the above-mentioned two modules, Similarly, SMART ICA can handle data in BIDS. So we will not repeat here.

Brain Mask Generation
The method to generate the brain mask in the SMART ICA module is as same as that in the other two modules.

Component Number Selection
SMART ICA combines ICA and clustering to obtain reliable group-level brain functional networks based on multiple ICA runs under different model orders. Therefore, an appropriate Fig. 9 The output structure of all results from the NeuroMark module model order range should be given for obtaining the initial components. User can choose the range of model order for the low or high model, and user needs to input three parameters including the minimum model order, the step size, and the maximum model order. Thus, the toolbox will compute group-level ICs according to each model order within the input range.

Computation of Brain Functional Networks and Functional Network Connectivity
After obtaining initial group-level ICs across all selected model orders, the SMART ICA module further obtains reliable group-level networks by clustering the multi-modelorder results. And then based on the meaningful group-level ICs that are regarded as group-level brain functional networks, the subject-specific brain functional networks and corresponding TCs are obtained by performing GIG-ICA on each subject's fMRI data. Finally, for each subject, the FNC between subject-specific brain functional networks is gained by calculating the Pearson correlation coefficient between any two TCs of networks.

Result Output
The SMART ICA module yields brain functional networks, their TCs, and FNC for each subject. Regarding the brain mask, the SMART ICA module is the same as GIG-ICA and it stores the used brain mask in the name of CommMask. In addition, the toolbox saves the initial group-level components obtained under multi-model-order ICA runs as a mat file and names it 'GICs2Matrix.mat'. In particular, because there is a clustering process in this module, some files are generated during the clustering process, including the cluster center (saved as mat file named Cluster) and the adjacency relationships of multimodel-order ICA results (saved as tif image named Tree). After artifact removal, the reliable group-level components are saved in different formats in the "GrouplevelICs" folder. Meanwhile, the IDs of the removed artifacts are stored in the ArtifactsIDs folder. Of course, SMART ICA also stores the brain functional networks, TCs, and FNC of each subject, in which each brain functional network is saved in the format of nifti, mat, and tif, while TCs and FNC are saved in the format of mat and tif. Besides, a file named Coefficient saves the correlation between Step 1 is for computing initial group-level ICs by PCA and ICA.
Step 2 is for obtaining reliable group-level networks by performing clustering and artifact removal.
Step 3 is for estimating subject-level brain functional networks by the GIG-ICA algorithm group-level and individual-level networks. Figure 12 displays the output structure for the results of the SMART ICA module.

Discussion
It is well-acknowledged that effective and reliable methods for extracting brain functional networks are very important. Although ICA has been widely used for brain functional network analysis, there are some inherent shortcomings in ICA, which hinder its application in the neuroscience field. The unknown number of components makes ICA difficult in extracting reliable brain functional networks. Moreover, the random order of the resulting components cannot enable researchers to naturally perform a direct comparison among different subjects' brain functional networks. While many toolboxes for functional brain network analysis are already available, our toolbox incorporates our previously proposed methods: GIG-ICA, NeuroMark, and SMART ICA (Du & Fan, 2013;Du et al., 2020a, b;Du et al., 2021), which can overcome those difficulties. By inputting fMRI data of multiple subjects, the toolbox can obtain reliable brain functional networks and other related neuroimaging measures for each subject, which would be very helpful for understanding the healthy brain and exploring biomarkers of brain disorders at the network level. The GIG-ICA module employs group-level networks as guidance and analyzes fMRI data of each subject to acquire subject-specific functional networks and corresponding TCs by utilizing a multi-objective optimization strategy. The method guarantees the independence of different brain functional networks for each subject and the correspondence of networks across different subjects, thus greatly improving network accuracy and comparability. The NeuroMark module is able to work for large-sample data analysis, as it effectively takes advantage of reliable network templates that are highly reproducible between two large datasets. The SMART ICA module focuses on solving a common model order difficulty in applying ICA to fMRI data by conducting an advanced clustering technique on the multi-model-order ICA results to automatically extract reliable brain functional networks, consequently avoiding an empirical and subjective parameter setting for the component number.
The IABC toolbox has a simple interface and easy operation, which decreases tedious input and parameter selection. Simple data input, few parameters, and a clear result presentation are the strengths of IABC. Remarkably, IABC can handle data organized in BIDS as well, which would promote its application. In order to better analyze the results, IABC allows user to visualize 3D brain functional network maps, line plots of TCs of networks, and the matrix diagram of FNC. In addition, the information on the most relevant brain regions is automatically presented for each network by the IABC. Regarding the brain mask for data analysis, our toolbox allows user to select an existing brain mask or compute a mask based on their data using IABC, so user can choose an appropriate way according to their needs. It is also worth noting that our toolbox includes a special data evaluation method according to the yielded brain mask, which enables user to discard data with low quality. In summary, IABC is a user-friendly neuroimaging data analysis toolbox. This toolbox is available for free at http:// yuhui du. com and https:// www. nitrc. org/. In the future, we will continue to update and maintain this toolbox, continuously include new ICA algorithms, and improve the toolbox. We believe that the Fig. 12 The output structure for the results of the SMART ICA module IABC toolbox will make ICA more concise and convenient for researchers to explore brain function and the impairments of brain disorders.

Information Sharing Statement
IABC is freely available for non-commercial use, source code and documentation can be obtained from NeuroImaging Tools & Resources Collaboratory (NITRC) at https:// www. nitrc. org/ proje cts/ iabc or the personal website at http:// www. yuhui du. com.