NPAIRS can be run either by using a GUI interface or by manually executing individual NPAIRS commands at the IDL prompt (see Running NPAIRS Manually).
The NPAIRS GUI is started by entering the following IDL command:
IDL> npairs
The main GUI has 3 options that allow the user to:
1) Create Setup Files and Parameter Files.
2) Run NPAIRS on selected parameter file(s).
3) View NPAIRS output.
NPAIRS can also be run by manually executing individual IDL commands. These commands allow the user to:
1) Create the NPAIRS setup files.
2) Create an NPAIRS parameter file.
3) Run main NPAIRS program.
The first step in running an NPAIRS analysis is to create the setup files. The setup files are a set of ASCII
files that tell the NPAIRS program what data to analyze and how to perform the resampling (data splits).
The examples given below apply to the sample data set supplied
with the NPAIRS distribution. The command(s) should work if typed in verbatim and provided you are in the directory
where NPAIRS was downloaded.
Start IDL.
In this example we are in a directory that has data/lists and example/SETUP sub-directories. These
directories must exist. The lists directory contains a
volume list file called
ex1_8FO.list. This file holds information on the data set we want analyzed, which, for this example, has
8 subjects. The [4,4] parameter informs the setup program to create disjoint
splits consisting of 4 subjects in each half. That is, each split of the data will consist of 2 halves, with the
first half having 32 volumes (4 subjects x 8 volumes/subject), and the second half consisting of those volumes (32)
not in the first half. Thus, the union of the two disjoint halves is the orginal data set. The next parameter is the
base name of the saved output files (see below). The NUMSPLITS=50 parameter tells the setup program that 50
splits of the data are wanted. Note, the number of desired splits is only an upper bound, since the number of unique
splits of the data might be less than this. For this example, the number of unique splits of 8 subjects in disjoint
splits of 4 is only 35. Therefore, NPAIRS will split the data 35 times resulting in 70 individual analyses (2 for
each split).
The output of the NPAIRS setup program is 4 ASCII files (base name is ex1_8FO in above example):
ex1_8FO.list:
ex1_8FO.vols:
ex1_8FO.vlfMap:
ex1_8FO.log:
The base name of the setup files, and the directory where they are saved, will be specified by the
SetupId and the SetupDir parameters, respectively, in the
NPAIRS parameter file.
Note, the same setup files can be used by different NPAIRS parameter files. Remember, the setup files only specify
what data to analyze and how to perform the data matrix splits (resampling). The specifics of how the data is analyzed
(e.g, CVA or GLM, 10 PC or 20 PC CVA) is given in the parameter file.
The parameter file is an ASCII file holding Keyword=Value pairs that specify the parameters of the NPAIRS
analysis to be run. This includes such things as where the NPAIRS output will be saved, the base name of
the NPAIRS setup files, where the input data lives, and the parameter settings for the analysis method.
To create a parameter file you first create a template parameter file and then edit it to suit your needs.
The examples given below apply to the sample data set supplied
with the NPAIRS distribution. The command(s) should work if typed in verbatim and provided you are in the directory
where NPAIRS was downloaded.
To create a template parameter file start IDL and issue the following command:
The only agrument to npairs_param_tmpl is the name of the output template parameter file. In this example,
it is assumed the directory example/PARAM exists. The result of executing this command is a template
parameter file.
The next step is to edit the parameter file to have the desired parameter settings. To continue with our
example, edit the file to look like this:
This parameter file causes NPAIRS to run a GLM, followed by a PCA, and then CVA on each split of the data. The
GLM is performed on column centered data (GlmDmConstant = 0), with VMN normalization (GlmDmGlobal = 0), session block
removal (GlmDmBlock = 0), scan number as indicator variables (GlmDmIndicator = 1), and 2 contrast vectors testing for
baseline/activation (GlmDmContrast = 0) and time effects (GlmDmContrast = 1) on the indicator variables (scan number).
The residual data matrix from the GLM is passed onto the PCA. The residual matrix is computed by subtracting the
uninteresting effects from the original data matrix. The results of the PCA (i.e, PC scores and eigenimages) are
then passed onto the CVA. The CVA class/group structure is defined by scan number (CvaClassDef = 5), and the first
10 PC's (CvaPcSet = 1-10) from the PCA are used to perform the discrimation. Note, only the results from the GLM
and CVA are kept for further analysis by NPAIRS (PcaKeep = 0) with the PCA being only a "pre-processor" for the CVA.
A description of all the parameters in an NPAIRS parameter file is given below. Once the parameter file is ready,
execution of NPAIRS can start.
[Top]
[SetupFiles]
[Parameter Files]
[Run NPAIRS]
NPAIRS Setup Files
IDL> npairs_setup, 'data/lists/ex1_8FO.list', [4,4], 'example/SETUP/ex1_8FO', NUMSPLITS=50
The final volume list file (VLF). This is identitical to the input volume list file, unless multiple VLF's
are specified in the command line, in which case the input VLF's are combined and saved as one.
This is the file that tells NPAIRS how to perform each data split. The file basically holds a 2D matrix
of integers. Rows 1 and 2 in the matrix correspond to the 1st split (row 1 is first half of split and row 2
is second half of split), rows 3 and 4 correspond to the 2nd split, etc. The number of rows is equal to
twice the number of splits. The integers in each row index a row (i.e, a volume) in the volume list file,
or equivalently, a row in the data matrix. Thus, the "split" data matrices are created by extracting the
rows, as indexed by the integers in the .vols file, from the original data matrix.
Volume list file map needed when multiple list files are input. This is an integer vector with
one element for each entry in the final (combined) volume list file, where entries (i.e, volumes)
with the same number belong to the same input volume list file.
A simple log file describing how the NPAIRS setup program was run.
[Top]
[SetupFiles]
[Parameter Files]
[Run NPAIRS]
NPAIRS Parameter File
IDL> npairs_param_tmpl, 'example/PARAM/ex1_8FO.par'
#---------------------------------------------------------------------------------------------------------------
# NPAIRS Stuff
#---------------------------------------------------------------------------------------------------------------
Id = ex1_8FO # NPAIRS ID
Dir = example # Logical output directory
SavDir = # Physical output directory
SetupId = ex1_8FO # Basename of NPAIRS setup files
SetupDir = example/SETUP # Directory where NPAIRS setup files live
#---------------------------------------------------------------------------------------------------------------
# Data Loading
#---------------------------------------------------------------------------------------------------------------
DataFormat = 0 # 0: VAPET, 2:Analyze
VolDir = data/vols # Directory where data volumes live
MskDir = data/msks # Directory where mask volumes live
SelScan = # Scan numbers of volumes to load (default is all)
Xmask = # Extra mask volume applied to all volumes
PctMaxThr = 0.05 # Percent (0 < pct < 1) of volume maximum threshold
MinSamp = 0 # Miniumn number of samples (0 -> #volumes)
#---------------------------------------------------------------------------------------------------------------
# Data Matrix Pre-processing
#---------------------------------------------------------------------------------------------------------------
DmpMethod = 0 # 0:none, 1:dose/weight, 2:VMN, 3:MSR, 4:standard normal
#---------------------------------------------------------------------------------------------------------------
# GLM Parameters
#---------------------------------------------------------------------------------------------------------------
GlmRun = 1 # Run a GLM analysis? 0:NO, 1:YES
GlmKeep = 1 # Save GLM results? 0:NO, 1:YES
GlmDmStudy = # -1:none, 0:protocol, 1:population
GlmDmBlock = 0 # -1:none, 0:session, 1:session & run
GlmDmIndicator = 1 # -1:none, 0:state, 1:scan, 2:misc1, 3:run, 4:population, 5:misc2, 6:misc3
GlmDmIndicInter = 1 # Effect of interest? 0:NO, 1:YES
GlmDmCovariate = # -1:none, 0:state, 1:scan, 2:misc1, 3:misc2, 4:misc3
GlmDmCovarDeg = # Polynomial degree for each covariate
GlmDmCovarInter = # Effect of interest? 0:NO, 1:YES
GlmDmDetrend = # -1:none, 0:session, 1:session & run, 2:misc1, 3:misc2, 4:misc3
GlmDmDetrendNcos = # Number of cosine basis functions for detrending
GlmDmTime = # -1:none, 0:scan (each session), 1:scan (each run)
GlmDmGlobal = 0 # -1:none, 0:VMN, 1:ANCOVA, 2:ANCOVA (session specific)
GlmDmConstant = 0 # -1:none, 0:mean center data matrix, 1:one's column in G
GlmDmContrast = 0,1 # -1:none, 0:state, 1:scan, 2:misc1, 3:covariate, 4:misc2, 5:misc3
GlmRandomize = 0 # Randomize design matrix? 0:NO, 1:YES
GlmDoTstat = 1 # Create & Save T-statics volumes? 0:NO, 1:YES
GlmDoCbeta = 1 # Create & Save C*beta volumes? 0:NO, 1:YES
GlmCleanupLevel = # 0:none, 1:some, 2:lots
#---------------------------------------------------------------------------------------------------------------
# PCA Parameters
#---------------------------------------------------------------------------------------------------------------
PcaRun = 1 # Run a PCA analysis? 0:NO, 1:YES
PcaKeep = 0 # Save PCA results? 0:NO, 1:YES
PcaDoSSM = 0 # Peform an SSM analysis? 0:NO, 1:YES
PcaSSMsigPc = # Set of significant PC's (SSM only)
PcaNumEigImg = # Number of eigenimages to examine
PcaMeth = 0 # 0:covariance matrix, 1:SVD, 2:gen. SVD, 3:gen. SVD (PC reordering)
PcaCleanupLevel = # 0:none, 1:some, 2:lots
PcaKeepNdim = 0 # Number of eigenimages to keep on disk
#---------------------------------------------------------------------------------------------------------------
# CVA Parameters
#---------------------------------------------------------------------------------------------------------------
CvaRun = 1 # Run a CVA analysis? 0:NO, 1:YES
CvaClassDef = 5 # 0:state, 1:pat, 2:prtcl, 3:subj, 4:sess, 5:scan, 6:run, 7:sex, (8,9,10):misc{1,2,3}
CvaPcSet = 1-10 # Set of PC's to use in CVA
CvaAllPcSet = # Set of PC's to use in CVA of all data
CvaCEwgts = 0.00 # Set of canonical eigenimage weights (0 is standard)
CvaRandomize = 0 # Randomize class labels? 0:NO, 1:YES
CvaCleanupLevel = # 0:none, 1:some, 2:lots
CvaKeepNdim = 0 # Number of canonical eigenimages to keep on disk
#---------------------------------------------------------------------------------------------------------------
# Miscellaneous Stuff
#---------------------------------------------------------------------------------------------------------------
Compress = 1 # Compress large data files? 0:NO, 1:YES
CleanupLevel = 2 # 0:none, 1:some: 2:lots
| Keyword | Description |
|---|---|
| Id | String identifying current NPAIRS analysis |
| Dir | Name of logical output directory |
| SavDir | Name of physical output directory |
| SetupId | Base name of NPAIRS setup files |
| SetupDir | Setup files directory |
Data Loading Keywords:
| Keyword | Description |
|---|---|
| DataFormat | File format of data volumes |
| VolDir | Data volumes directory |
| MskDir | Mask volumes directory |
| SelScan | Scan numbers of volumes to load |
| Xmask | Extra mask volume applied to all volumes |
| PctMaxThr | Percent of volume maximum threshold |
| MinSamp | Minimum number of samples |
Data Matrix Preprocessing Keywords:
| Keyword | Description |
|---|---|
| DmpMethod | What data matrix pre-processing operations to perform |
GLM Keywords:
| Keyword | Description |
|---|---|
| GlmRun | Whether or not to run a GLM |
| GlmKeep | Whether or not to compute & keep GLM NPAIRS results |
| GlmDmStudy | How to define the studies |
| GlmDmBlock | How to define the block effects |
| GlmDmIndicator | How to define the indicator variables (conditions) |
| GlmDmIndicInter | Indicates whether indicators are effects of interest |
| GlmDmCovariate | How to define the covariates |
| GlmDmCovarDeg | Degree of polynomial for each covariate |
| GlmDmCovarInter | Indicates whether covariates are effects of interest |
| GlmDmDetrend | How to define detrending |
| GlmDmDetrendNcos | Number of cosine basis functions used in detrending |
| GlmDmTime | How to define linear time effects |
| GlmDmGlobal | How to define the global effects |
| GlmDmConstant | How to define the constant effects |
| GlmDmContrast | How to define the contrast vectors(s) |
| GlmRandomize | Whether or not to perform relabeling |
| GlmDoTstat | Create T-statistic volumes? |
| GlmDoCbeta | Create c*beta volumes? |
| GlmCleanupLevel | Determines the files to be removed after NPAIRS finishes |
PCA Keywords:
| Keyword | Description |
|---|---|
| PcaRun | Whether or not to run a PCA |
| PcaKeep | Whether or not to compute & keep PCA NPAIRS results |
| PcaDoSSM | Indicates whether or not to run an SSM model |
| PcaSSMsigPc | The Significant PC's used in an SSM analysis |
| PcaNumEigImg | Number of eigenimages (dimensions) to be examined |
| PcaMeth | Method to use in running the PCA |
| PcaCleanupLevel | Cleanup level of PCA output files |
| PcaKeepNdim | Number of eigenimages to save in disk files |
CVA Keywords:
| Keyword | Description |
|---|---|
| CvaRun | Whether or not to run a CVA |
| CvaClassDef | How to construct the CVA classes |
| CvaRandomize | How to perform relabeling of CVA classes |
| CvaPcSet | Set of PC's to use in the CVA's |
| CvaAllPcSet | Set of PC's to use in the reference CVA |
| CvaCEwgts | List of canonical eigenimage weights |
| CvaCleanupLevel | Determines the files to be removed after NPAIRS finishes |
| CvaKeepNDim | Number of canonical eigenimages to be kept on disk |
Miscellaneous Keywords:
| Keyword | Description |
|---|---|
| Compress | Whether or not to compress large output file |
| CleanupLevel | Default cleanup level for all analysis methods |
Id = string
This is the ID that identifies the current NPAIRS analysis. All the output files from the analysis
are saved in Dir/Id/Id{suffix}, where Dir is defined below, and {suffix}
is an NPAIRS output file suffix.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
Dir = string
Name of a directory where the NPAIRS output directory is created. The NPAIRS output files are saved
as Id{suffix} in the directory Dir/Id, where {suffix} is an NPAIRS
output file suffix. The directory Dir must exist prior
to running NPAIRS, while the directory Dir/Id is created by NPAIRS if it does not already
exist.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
SavDir = string
This is an alternative directory where the NPAIRS output directory is created (see Dir and
Id keywords). If SavDir and Dir are different directory names, then
SavDir/Id becomes the output directory and Dir/Id becomes a symbolic link
to it. If no SavDir is given, or is the same as Dir, then the output NPAIRS directory is
just Dir/Id. The SavDir parameter can be used if you have limited space on the
disk where you want NPAIRS output to reside. The idea is to use other disks (or partitions on same disk)
to physically save the output (SavDir) and still have some logical structure of where the output
lives (Dir). That is, the output is physically saved in SavDir, but logically saved (through
links) in Dir. If disk space, or management of NPAIRS output, is not an issue for you then leave
SavDir blank.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
SetupId = string
This is the base name of the NPAIRS setup files. These files tell NPAIRS what
data files to load and how to perform the NPAIRS splits.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
SetupDir = string
This is the name of the directory where the setup files reside. If no
SetupDir is specified the default becomes Dir/../SETUP, where Dir/.. is the
parent directory of Dir.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
DataFormat = integer
An integer specifying the format of the data files. The supported formats are:
The default is (VAPET).
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
VolDir = string
The name of the directory where the data volumes (files) live. If more than one
volume list file (VLF) was used to build the NPAIRS setup files, then you must
specify one VolDir for each list file:
Normally, only one VLF, and thus, one VolDir line is necessary.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
MskDir = string
The name of the directory where the mask volumes (files) live. If more than one
volume list file (VLF) was used to build the NPAIRS setup files, then you must
specify one MskDir for each list file:
Normally, only one VLF, and thus, one MskDir line is necessary.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
SelScan = integer-list
A list of integers specifying the scan numbers of the data volumes to be included in the analysis. The scan
numbers are defined in the Scan Number field of the
volume list file, and indicate the ordinal values of the
volumes within a scan session, i.e, the 1st volume in a scan session has a scan number of 1, the 2nd volume
has a scan number of 2, etc.
The list of data volumes analyzed by NPAIRS is determined by the setup files. This
list can be "edited" by using the SelScan parameter. Only those volumes whose scan numbers are included
in the SelScan list are kept for analysis.
For example, if
If SelScan is not specified, then all the volumes specified by the setup files are used in the analysis.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
Xmask = string
The name of a file holding an extra mask volume. This mask is
"extra" in the sense that it is used in addition to the individual mask volumes. The extra mask volume is
applied to every volume in the data set. That is, all zero voxels in the mask volume are found and the
corresponding voxels - in all data volumes - are set to zero,
and subsequently ignored by the NPAIRS system.
Xmask can be used to remove unwanted voxels from an analysis. For example, a mask volume constisting of
only grey matter regions would eliminate all non-grey matter voxels (e.g, white matter) from the analysis.
If Xmask is not specified then no extra mask is used.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PctMaxThr = float
This is floating point number between 0 and 1 that is used as a "percent of volume maximum" threshold.
When each data volume is loaded from disk its maximum value is found. The volume maximum and PctMaxThr
are multiplied to get an absolute threshold. Next, all voxels having values less than the absolute
threshold are set to zero, and therefore eliminated from the analysis. For example, setting PctMaxThr
to 0 will remove all negative voxels from the analysis. To not apply any threshold, i.e keep all data,
specify a negative value for PctMaxThr (e.g, -1).
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
MinSamp = integer
This parameter is only needed for data collected from scanners that do not have full brain coverage
(e.g, older PET scanners). The data matrix is created by
loading each data volume into a separate row. A column in the data matrix holds the data values, across all
volumes, for a fixed voxel location. A zero in the data matrix indicates missing data. A column of all zero's
means there exist no data for that voxel location, and thus, is removed from the data matrix. A column
having no zero's means there exist data for that voxel for all volumes, and therefore is kept in the
data matrix (assuming it passes PctMaxThr). What do we do with voxels that
have both zero's and real data values? This is where MinSamp is used.
MinSamp is a value between 1 and the number of rows (volumes) in your data matrix. If the number
of non-zero values (real data) in a column is greater than or equal to MinSamp then the column is
kept in the data matrix, otherwise, it is discarded. Specifying MinSamp to be 1 means that a column
(voxel) in the data matrix is kept if at least 1 row (volume) has data for that voxel. If MinSamp is
equal to the number of volumes, then a column (voxel) is kept only if all rows (volumes) have data for that
voxel. Specifying MinSamp to be zero is equivalent to setting it equal to the number of volumes (this
is the default).
If we set MinSamp to be less than the number of volumes, then we potentially have cells in the data
matrix with artifical zero's. These zero's must be replaced with some value. The strategy used to fill in
missing data is determined by the parameter.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
0: VAPET
2: Analyze
VolDir = /data/.../volDir1
VolDir = /data/.../volDir2
etc.
MskDir = /data/.../volDir1
MskDir = /data/.../volDir2
etc.
SelScan = 1,3,5,10-14
then only those volumes with scan numbers 1, 3, 5, 10, 11, 12, 13, or 14 will be included in the final data
set.
| Option # | Operation |
|---|---|
| 0 | none |
| 1 | divide by dose/weight |
| 2 | divide by volume mean (VMN) |
| 3 | remove scan session means (MSR) |
| 4 | standard normal |
GlmRun = 0 or 1
Boolean integer indicating whether or not to run a GLM analysis.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
GlmKeep = 0 or 1
Boolean integer indicating whether or not to "keep" the GLM results. If set to 1, a full NPAIRS is
performed on the results from the GLM analyses and all pertinent NPAIRS metrics computed (e.g,
reproducibility of the spatial patterns). If the GLM is to be used only as a means of removing unwanted
sources of variance from the data matrix (e.g, global and block effects), then set GlmKeep = 0. In either
case, GlmKeep = 0 or 1, the residual matrix is computed and passed onto the next analysis method
(which is the PCA). The residual matrix is computed by removing only the uninteresting effects from
the data matrix, leaving the interesting effects (e.g, conditions and/or covariates) in the
data matrix to be passed onto the PCA.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
| -1: | none |
| 0: | Protocol |
| 1: | Population |
An experiment is divided into studies. Each study has it's own indicator variables (conditions) that are defined by Indicator parameter. If no indicator variables are defined, then the Study parameter has no effect.
For example, assume the studies are defined by the population field (Study = 1), which has 0's for normals and 1's for disease, and that the indicator variables are defined by the Brain State field (Indicator = 0) which also contain 0's and 1's indicating whether the volumes were acquired under the baseline or activation condition. Here, we are assuming the experiment consisted of a simple "on/off" protocol. With these settings, the design matrix will include 4 indicator (condition) columns. Two columns for baseline and activation in the "normal" study, and two columns for baseline and activation in the "disease" study.
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
| -1: | none |
| 0: | Scan Session |
| 1: | Scan Session and Run |
We define a block as a set of volumes collected from the same subject during one scan session. If the blocks are defined by Scan Session then a column will be added to the design matrix for each scan session. Each block column will consist of 0's and 1's, with 1 indicating the volume belongs to the scan session, and 0, otherwise. If the blocks are defined by Scan Session and Run then a column will be added to the design matrix for each run in each scan session. This can be used for fMRI data, where you might want to have a separate block effect for each run.
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
| -1: | none |
| 0: | Brain State |
| 1: | Scan Number |
| 2: | Miscellaneous 1 |
| 3: | Run |
| 4: | Population |
| 5: | Miscellaneous 2 |
| 6: | Miscellaneous 3 |
The unique values in the selected VLF field are found, and a column is added to the design matrix for each value. The rows in the indicator columns are then filled with 0's and 1's. A 1 is inserted in a row if the VLF field for that volume each row in a design matrixis the same as the VLF value for that column, and a 0 is inserted, otherwise. Remember, there is one row in a design matrix for each volume/row in the data matrix.
For example, assume an experiment constisted of baseline/activation scans, and that the baseline volumes were designated by 0's and the activation volumes designated by 1's in the Brain State field of VLF. If Indicator = 0, which means to use the Brain State field in the VLF, then 2 columns are added to the design matrix. One column will correspond to baselines and the other to activations. The "baseline" column will have 1's in the rows that belong to volumes collected in the baseline condition. Similarly, the "activation" column will have 1's in the rows that belong to volumes collected in the activation condition. So each row in the design matrix, which corresponds to a row in the data matrix, will have either a 1 in the baseline column or a 1 in the activation to "indicate" the condition under which the volume was collected.
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
GlmDmIndicInter = 0 or 1
Boolean indicating whether or not the indicator columns in the design matrix are effects of interest (0 means un-interesting and 1
means interesting). This is used to determine how the residual matrix gets computed (which may or may not be passed onto a PCA). If
NOT of interest (i.e, GlmDmIndicInter = 0), the indicator effects are included in the removal of the unwanted effects from the
original data matrix. The default is that the indicator columns are effects of interest (GlmDmIndicInter = 1).
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
| -1: | none |
| 0: | Brain State |
| 1: | Scan Number |
| 2: | Miscellaneous 1 |
| 3: | Miscellaneous 2 |
| 4: | Miscellaneous 3 |
A column in the design matrix is added for each covariate defined by Covariate. Actually, for a particular covariate, the number of columns added to the design matrix is equal to the degree of the polynomial you wish to fit: one column for linear, two columns for quadratic, etc. See CovarDeg. The values in the specified VLF field are simply placed in the covariate column in the design matrix, and if a quadratic fit is requested, the values are squared and then placed in the quadratic covariate column, and if a cubic fit is requested, the values are cubed and then placed in the cubic covariate column, etc
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
GlmDmCovarDeg = integer,integer,...,
This parameter is used with the Covariate parameter, and specifies the
degree of the polynimal to be fitted, with the covariate as the independent variable. You should specify a
degree for each covariate defined by Covariate (the default is 1). Specifying a degree greater than
one allows for the testing of non-linear effects in the data as a function of the covariate values.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
GlmDmCovarInter = 0 or 1
Boolean indicating whether or not the covariate column(s) in the design matrix are effects of interest (0 means un-interesting and 1
means interesting). This is used to determine how the residual matrix gets computed (which may or may not be passed onto a PCA). If
NOT of interest (i.e, GlmDmCovarInter = 0), the covariate effects are included in the removal of the unwanted effects from the
original data matrix. The default is that the covariate column(s) are effects of interest (GlmDmCovarInter = 1).
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
| -1: | none |
| 0: | Scan Session |
| 1: | Run and Scan Session |
| 2: | Miscellaneous 1 |
| 3: | Miscellaneous 2 |
| 4: | Miscellaneous 3 |
Detrending is used most often with fMRI data where low frequency drifts in the signal can occur. Drifts in the signal are fitted using half cosine basis functions. The number of cosine basis functions used, say N, is set by the Ncosines parameter. The basis functions can fit drifts that have a frequency of at most N/2. Be sure to choose a frequency that is not too close to the frequency of the experimental paradigm, otherwise, interesting signal may be detrended away.
If Scan Session is selected (Detrend = 0), N columns are added to the design matrix for each scan session, where N is the number cosine basis functions. Each column contains one basis function: 1st column = cos(x/2), 2nd column = cos(x), 3rd column = cos(3x/2), etc. If Run and Scan Session is selected (Detrend = 1), then detrending is performed separately on each run in each scan session. The Miscellaneous {1,2,3} option will detrend the data based on the miscellaneous fields in the VLF. All volumes having the same Miscellaneous value are detrended together.
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
GlmDmDetrendNcos = integer
This parameter is used with the Detrend parameter, and specifies the
number of half cosine basis functions to use in detrending.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
| -1: | none |
| 0: | Scan Number for each Scan Session |
| 1: | Scan Number for each Run |
This parameter allows for the removal of linear time effects in the data. If Scan Number for each Scan Session (Time = 0) is selected, then a column is added to the design matrix for each scan session. For a time effect column, which corresponds to a particular scan session, the VLF Scan Number values (usually 1,2,3,...,#volumes) are inserted in the rows belonging to the pertinent scan session, and 0's are inserted elsewhere. For Scan Number for each Run a time effect column is added to the design matrix for each run in each scan session. This allows for multiple run fMRI data sets to have a separate time effect for each run.
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
| -1: | none |
| 0: | divide by volume mean (VMN) |
| 1: | ANCOVA regression |
| 2: | ANCOVA regression on each Scan Session |
Specifying divide by volume mean (Global = 0), divides each row in the data matrix by it's own row mean. This option does not add any columns to the design matrix. It is a pre-GLM normalization of the data.
Specifying ANCOVA regression (Global = 1), adds one column to the design matrix consisting of volume means. This is the standard SPM method for handling global effects.
Specifying ANCOVA regression on each Scan Session (Global = 2), adds a column to the design matrix for each scan session, with each column holding the means of the volumes belonging to the pertinent scan session. This allows each scan session to have it's own "global effect" regression slope.
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
| -1: | none |
| 0: | mean center each column in data matrix |
| 1: | create column of 1's in design matrix |
Specifying mean center each column in data matrix (Constant = 0), subtracts the column means from each column in the data matrix. This will force all column means to zero. This option does not add any columns to the design matrix.
Specifying create column of 1's in design matrix (Constant = 1), adds a column of ones to the design matrix. Mathematically, this is equivalent to the previous option (Constant = 0).
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
| 0: | contrast indicator columns with Brain State |
| 1: | contrast indicator columns with Scan Number |
| 2: | contrast indicator columns with Miscellaneous 1 |
| 3: | contrast covariate columns with "1" |
| 4: | contrast indicator columns with Miscellaneous 2 |
| 5: | contrast indicator columns with Miscellaneous 3 |
A contrast vector is used to test the significance of specific effects in the linear model. The size of a contrast vector is equal to the number of columns in the design matrix, or, equivalently, the number of rows in the beta matrix.
For options 0,1,2,4,5 (i.e, all but 3) the contrast vector is defined on the indicator (aka, condition) columns of the design matrix (technically, contrast vectors are applied to the rows in the beta matrix, which actually hold the estimated parameters). The contrast vector elements associated with the non-indicator columns of the design matrix are set to 0, and the elements associated with the indicator columns are set to one of the unique values of the VLF field selected by the Contrast parameter.
For example, supposed the indicator variables are defined by the Scan Number field of the
VLF and that there are 8 scans per scan session. This will result in a design matrix having 8 indicator
columns. Next, assume Contrast = 0 and that the Brain State field consists of 0's (for baseline)
and 1's (for activations), and that the experminent was BABABABA for each scan session. The Brain State
column would then be 0,1,0,1,0,1,0,1, repeated for each scan session. The first indicator column in the design
matrix, which has a 1 for each "1st scan" volume and 0's elsewhere, is examined. The Brain State values
for these "1st scan" volumes are collected. The values are checked to make sure they are all the same. In this
example, they are all 0's since the 1st scan in each session is a baseline. If the values were not all the same,
then the "1st scan" volumes would be a mixture of baslines and activations, and the contrast vector element could
not be uniquely determined. This is repeated for each indicator column in the design matrix. The resulting contrast
vector would look like this (after mean centering):
-.5, +.5, -.5, +.5, -.5, +.5,-.5,+.5,0,0,0,...,0, where the trailing zero's refer to non-indicator columns.
Another option would be Contrast = 1, resulting in a linear ramp contrast vector, which would test for time
effects in the data. The contrast vector would look something like:
-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5, 0, 0,0,...,0.
For Contrast = 3, the covariate column(s) in the design matrix are tested. There exists one contrast
vector for each covariate defined by the Covariate parameter, and there exists one
contrast vector for each degree defined by the CovarDeg parameter. A contrast vector
consists of all 0's except for a 1 located in the element corresponding to the pertinent covariate column of the
design matrix. For example, assume Covariate = 2, where the Miscellaneous 1 VLF field holds some
sort of performance measurement, and CovarDeg = 3. This will test for a cubic relationship between the
peformance measurement and brain activity. Assuming the covariate columns in the design matrix are first, the
contrast vectors will look like this:
1,0,0,0,...,0 tests regression coefficients corresponding to linear term
0,1,0,0,...,0 tests regression coefficients corresponding to quadratic
0,0,1,0,...,0 tests regression coefficients corresponding to cubic term
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
GlmRandomize = boolean (default is 0)
If this parameter is set to 1, then "relabeling" is performed. The relabeling is done by shuffling the values
in the VLF fields that are used to create the indicator columns and covariate columns of the design matrix
(see Indicator and Covariate keywords) .
The VLF field values associated with the indicator column(s) are shuffled only if the indicator column(s) are
being tested by a contrast vector (see Contrast keyword). Likewise, the VLF
field values associated with the covariate column(s) are shuffled only if the covariate column(s) are being
tested by a contrast vector. The result of this is that the values in the data matrix columns that are to be
tested by contrast vector(s), are "mixed up", resulting in spatial patterns that are not expected to be
reproducible.
If GlmRandomize is set to a value greater than one, say N, then N separate NPAIRS analyses are performed,
with each analysis randomizing the design matrix differently. This allows for multiple randomizations to be done
using one parameter file. The output files, for each randomized NPAIRS, are saved in
Dir/Id_iii/Id_iii*, where iii is a 3 character (zero padded) string running
from 1 to N, and Dir and Id are defined in the
parameter file.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
GlmDoTstat = 0 or 1
If this parameter is set to 1, then the T-statistic volumes are created and analyzed by the NPAIRS system. The
T-statistic volumes are create by c*beta/se, where c is a contrast vector defined by the
Contrast parameter, and beta is the beta matrix of estimated regression
coefficients, and se is the standard error measured at each voxel.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
GlmDoCbeta = 0 or 1
If this parameter is set to 1, then the c*beta volumes are created and analyzed by the NPAIRS system, where
c is a contrast vector defined by the Contrast parameter, and beta is the
beta matrix of estimated regression coefficients. Note, the T-statistic volume is derived from the c*beta
volume by dividing each voxel by the standard error at that voxel.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
GlmCleanupLevel = integer
This parameter determines the cleanup level of GLM files created from an NPAIRS analysis. The cleanup is
performed on the output files of the individual GLM analyses (not the summary files). If N
splits are performed then 2*N GLM analyses are executed (2 for
each split of the data). The output files from these analysis are: Id.GLM.{0001,0002,...,2*N}.{suffix};
see Id. Upon completion of the NPAIRS analysis these files are not usually needed
anymore. The available cleanup options are:
0: keep all output files
The default is set by the global CleanupLevel parameter.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaRun = 0 or 1
Boolean integer indicating whether or not to run a PCA analysis. If a CVA analysis is to be run
(CvaRun = 1), then a PCA must also be run. This is required to transform the data matrix, via PCA
rotation, into a smaller space that can be managed by the CVA.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaKeep = 0 or 1
Boolean integer indicating whether or not to "keep" the PCA results. If set to 1, a full NPAIRS is
performed on the results from the PCA analyses and all pertinent NPAIRS metrics computed (e.g,
reproducibility of the spatial patterns). Normally, the PCA is run only as a data reduction step
for a CVA. As such, typically PcaKeep = 0.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaDoSSM = 0 or 1
This is a boolean value indicating whether or not to run an SSM analysis instead of a standard PCA. If
an SSM is to be run, the significant PC's must be specified by the PcaSSMsigPc parameter. The
default is to NOT run an SSM.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaSSMsigPc = integer-list (needed when PcaDoSSM=1)
This parameter is needed when running an SSM analysis. It is a list of integers that indicate the significant
PC's used to compute the global scaling factors (GSF's). This parameter is ignored when not running an SSM
model.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaNumEigImg = integer-list (needed when PcaDoSSM=1)
When keeping the PCA results (PcaKeep = 1), this parameters indicates the number eigenimages that are
to be examined. If PcaNumEigImg = N, then the eigenimages from the first N PC's are run through
the NPAIRS system. This is a useful parameter when the total number of PC's (which is equal to the number
of rows in the data matrix) is large. The default is to examine a fourth of the eigenimages.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaMeth = integer,optional-integer
This parameter is an integer indicating how to perform the PCA. The options are:
0: covariance matrix (default) [Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaCleanupLevel = integer
This parameter determines the cleanup level of PCA files created from an NPAIRS analysis. The cleanup is
performed on the output files of the individual PCA analyses (not the summary files). If N
splits are performed then 2*N PCA analyses are executed (2 for
each split of the data). The output files from these analysis are: Id.PCA.{0001,0002,...,2*N}.{suffix};
see Id. Upon completion of the NPAIRS analysis these files are not usually needed
anymore. The available cleanup options are:
0: keep all output files
The default is set by the global CleanupLevel parameter.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
PcaKeepNdim = integer
This parameter can be used to override the effects of the PcaCleanupLevel
parameter. When PcaCleanupLevel = 2, then all PCA eigenimages are removed from disk. PcaKeepNdim
allows you to keep some of these eigenimages around. If PcaKeepNdim = N, then the cleanup process
will remove only those eigenimages belonging to PCA dimensions greater than N. Normally, there is no reason
to keep the eigenimages around after NPAIRS has finished, and thus, the default is 0.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CvaRun = 0 or 1
Boolean integer indicating whether or not to run a CVA analysis.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
1: remove all GLM files except the pattern volumes (e.g, T-statistic volumes)
2: remove all GLM files including pattern volumes
1: regular SVD
2: generalized SVD
3: generalized SVD with reordering of PC's according to "new" singular values
1: remove all PCA files except the pattern volumes (e.g, eigenimages)
2: remove all PCA files including pattern volumes
| 0: | Brain State |
| 1: | Population |
| 2: | Protocol |
| 3: | Subject |
| 4: | Scan Session |
| 5: | Scan Number |
| 6: | Run |
| 7: | Sex |
| 8: | Miscellaneous 1 |
| 9: | Miscellaneous 2 |
| 10: | Miscellaneous 3 |
| 11: | Volume Number |
Each volume in the data set is assigned to a class. The CVA requires at least 2 classes. All volumes that have the same values in the selected VLF field(s) belong to the same CVA class. If Brain State (CvaClassDef = 0) is selected, then the number of CVA classes is equal to the number of unique values in the field, and each volume is classified according to the Brain State values. Assume Brain State contains 0's and 1's for baseline and activation, respectively, then there will exist 2 classes, with all baselines volumes making up one group, and the activation volumes making up the other. If multiple VLF's fields are selected, then volumes belong to the same class when the values from all selected VLF fields are the same. The number of classes is equal to (# unique values in VLF field 1) x (# unique values in VLF field 2) x ...
[Top][NPAIRS Keywords] [Data Loading][Preprocessing] [GLM][PCA][CVA] [Miscellaneous]
CvaRandomize = integer,integer,...
This parameter allows for the classes in a CVA to be randomly shuffled, i.e relabeled. The first number in the
parameter list indicates whether or not to perform class relabeling, with 0 meaning NO and 1 meaning YES. The
remaining numbers in the parameter list are optional. If no other numbers are given, then the relabeling is done
on the class labels defined by the CvaClassDef parameter.
Any additional integers in the parameter list refer to fields in the volume list file (VLF). See
CvaClassDef for the mapping of integer to VLF fields. The values
in the selected VLF fields are relabeled. Finally, the CVA classes are created using the CvaClassDef parameter,
which will operate on the relabeled fields of the VLF.
An example of performing the relabeling in this manner would be if the CVA class structure was defined over
Population and
Brain State, where the patient population consisted of normal
and disease, and the brain state consisted of baseline and activation. This class structure would be realized
with CvaClassDef = 0,1 , which results in a 4 class CVA. A useful experiment would be to relabel the
normal/disease labels while keeping the baseline/activation labels intact. This would be accomplished by
setting CvaRandomize = 1,1, where the first integer tells NPAIRS to perform relabeling, and the second
integer tells NPAIRS to relabel the Population field only, leaving the Brain State field
alone.
If the first integer in the parameter list is a value greater than one, say N, then N separate NPAIRS analyses
are performed, with each analysis having a different class randomization. This allows for multiple randomizations
to be done using one parameter file. The output files, for each randomized NPAIRS, are saved in
Dir/Id_iii/Id_iii*, where iii is a 3 character (zero padded) string running from
1 to N, and Dir and Id are defined in the
parameter file.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CvaPcSet = integer-list,...
This is an integer list indicating the principal components (PC's) to use in the CVA analyses. The highly
ill-posed data matrix is run through a PCA, which rotates the "big space" by projecting each row (volume)
onto to the orthogonal PCA eigenimages, resulting in new uncorrelated variables we call principal components.
No information is lost in the reduction of the large data matrix to the principal component matrix. Both
matrices have the same rank. These PC's are what the CVA uses to perform the discrimination. The subset of
PC's passed to the CVA are given by the CvaPcSet parameter (using them all would result in over fitting).
For example, CvaPcSet = 1-5,10-13 will result in a CVA run on PC's 1,2,3,4,5,10,11,12,13.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CvaAllPcSet = integer-list,...
The CvaAllPcSet parameter is an integer list indicating the principal components to use in the reference
CVA analysis. See CvaPcSet for a description of how the PC's are used in CVA.
One of the first things NPAIRS does is to run a CVA analysis on all the data. This is done prior to any analysis
done on split data. A one time analysis of all the data is a useful thing to have in its own right. The analysis
is also used as a reference for all the individual NPAIRS CVA analyses performed. The CVA canonical variate
class means from the "all" analysis are used to negate canonical variates (and associated canonical eigenimages),
and to permute CVA dimensions, of the individual CVA analyses. Permutation of CVA dimensions means to move
dimension 1 to dimension 2, for example. Negation of CVA dimenions is needed because the sign of the variates (and
images) is arbitrary. Therefore, the reference CVA analysis attempts to make the signs of the CVA variates, and the
"position" of the CVA dimensions, consistant across the individual CVA analyses.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CvaCEwgts = float,float,...
This is a list of canonical eigenimage weights.
Normally, this is set to 0 which will create standard canonical eigenimage patterns.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CvaCleanupLevel = integer
This parameter determines the cleanup level of CVA files created from an NPAIRS analysis. The cleanup is
performed on the output files of the individual CVA analyses (not the summary files). If N
splits are performed then 2*N CVA analyses are executed (2 for
each split of the data). The output files from these analysis are: Id.CVA.{0001,0002,...,2*N}.{suffix};
see Id. Upon completion of the NPAIRS analysis these files are not usually needed
anymore. The available cleanup options are:
0: keep all output files
The default is set by the global CleanupLevel parameter.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CvaKeepNdim = integer
This parameter can be used to override the effects of the CvaCleanupLevel
parameter. When CvaCleanupLevel = 2, then all CVA eigenimages are removed from disk. CvaKeepNdim
allows you to keep some of these eigenimages around. If CvaKeepNdim = N, then the cleanup process
will remove only those eigenimages belonging to CVA dimensions greater than N. Normally, there is no reason
to keep the eigenimages around after NPAIRS has finished, and thus, the default is 0.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
Compress = 0 or 1
This parameter indicates whether or not to compress larger NPAIRS output files using adaptive Lempel-Ziv
coding (.Z suffix). The default is to compress.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
CleanupLevel = 0, 1, or 2
This parameter sets the default cleanup level for each of the analysis methods:
0: none
See GlmCleanupLevel, PcaCleanupLevel,
CvaCleanupLevel.
[Top][NPAIRS Keywords]
[Data Loading][Preprocessing]
[GLM][PCA][CVA]
[Miscellaneous]
After creating the setup files and parameter
file(s), we can then execute the main NPAIRS progam.
The examples given below apply to the sample data set supplied
with the NPAIRS distribution. The command(s) should work if typed in verbatim and provided you are in the directory
where NPAIRS was downloaded.
Continuing with our example:
1: remove all CVA files except the pattern volumes (e.g, canonical eigenimages)
2: remove all CVA files including pattern volumes
1: some
2: lots
[Top]
[SetupFiles]
[Parameter Files]
[Run NPAIRS]
Run Main NPAIRS Program
IDL> npairs_main, 'example/PARAM/ex1_8FO.par'
Running npairs_main on this example will generate the following screen output:
---------------------------------------------------------------------------------------
NPAIRS file: example/PARAM/ex1_8FO.par
loading mask volumes [64] : 64
loading data volumes [64] : 64
load_volumes: elapsed time = 47.4 seconds
Running GLM/CVA: 100% done (elapsed time = 31 minutes, 27.2 seconds)
Computing Reproducibility: 100% done (elapsed time = 1 minutes, 42.7 seconds)
Computing Pattern Means: 100% done (elapsed time = 1 minutes, 0.8 seconds)
Saving CV scores: 100% done (elapsed time = 30.0 seconds)
Generalization errors: 100% done (elapsed time = 6.4 seconds)
Computing SPM{Z} scores: 100% done (elapsed time = 5 minutes, 21.5 seconds)
Computing Pattern Histograms: 100% done (elapsed time = 36.7 seconds)
Computing Z-score Histograms: 100% done (elapsed time = 2 minutes, 39.7 seconds)
Computing Subject Influence: 100% done (elapsed time = 2 minutes, 25.8 seconds)
Cleanup: 100% done (elapsed time = 1.8 seconds)
ex1_8FO.par: elapsed time = 46 minutes, 41.0 seconds
This is what the NPAIRS program does:
The output files generated by the NPAIRS process are saved in the Dir/Id directory with
filenames of the form Id*, where Dir and Id
are defined in the parameter file.
[Top]
[SetupFiles]
[Parameter Files]
[Run NPAIRS]