To do group analysis on a set of CBF processed jobs, you need the first select the CBF jobs you want to participate in the group analysis. To facilitate this selection, CBFDAP provides data set filtering mechanism based on clinical assessment and CBF job data provenance criteria.
The main components of the Search panel are
Each search criterion panel allows you to define a filter on a single variable (a clinical assessment score or a provenance field). If you have selected a clinical assessment criterion, then you will see a dropdown with all the clinical assessments available in the CBFDAP. When you select a clinical assessment from this dropdown, the score dropdown next to it is populated with the scores (variables) available for that assessment. Depending on the type of the variable (numeric, string, binary or date type) all available operators for that score is shown next. If you have more than one search criterion, the search criteria are joined together with logical connectives 'and' and/or 'or'. The default logical connective is 'and'. For example, the filter depicted in Figure 1, translates to 'select all CBF jobs for TMARC_4S_FAIR project having male subjects AND have no field map processing AND have gray matter threshold value greater than equal 0.8'.
To remove a search criterion panel from the search filter, click
on the delete button ( ) on the left side of the corresponding search criterion panel.
Depending on the type of the search criterion variable different operators are available. The full set of available operators is shown below;
CBF job data series sometimes cannot be selected with one search filter. For these situations, the ability of selecting the final data set incrementally via combination of multiple different search filter results might be desirable. In CBFDAP, you can accomplish this by building search filters in the Search panel and pressing 'Search' button after each constructed search filter. The results from each search filter is combined, duplicates are removed and results are sorted by project, subject and visit, respectively.
The jobs matching the search criteria as constructed in the Search panel,
after pressing 'Search' button is shown in the 'Selected Jobs' list.
This list can be further refined by manual addition
() and/or removal (
) of jobs and further filtering using secondary criteria
(
).
In each of the CBF job lists, a range of CBF jobs can be selected by pressing and holding down Shift key on your keyboard while selecting with the mouse. Multiple non-contiguous CBF jobs can be selected by pressing and holding down Ctrl key on your keyboard while selecting with the mouse.
To add new CBF jobs to the 'Selected Jobs' list from the first list
containing full set of available CBF jobs to you, select one or more CBF jobs
from the first CBF job list and press () button. The selected CBF jobs from the first list will be included in the
'Selected Jobs' list. This operation makes sure that there are no duplicate
jobs in the 'Selected Jobs' list.
To remove one or more CBF jobs from the 'Selected Jobs' list, select them and
remove them by pressing button.
You can clear all of the CBF jobs from the 'Selected Jobs' list by pressing
the button.
CBFDAP also provides further filtering of the selected data sets which
cannot be expressed via clinical and provenance criteria alone. This can
be accessed by pressing the button.
Secondary search filter is most useful when the selected CBF job set too large
and cumbersome to be refined by hand.
By pressing the button, you come to the
secondary search filter panel, where you can enter a filter expression,
or select a saved filter and apply to the CBF jobs from the
'Selected Jobs' list.
For secondary search filtering, CBFDAP provides a logical expression language to build logical expressions of arbitrary complexity using the available variables ( subjectID, jobID, visitID, project, jobTag and visitDate) and operators (both relational operators and predicates).
The variables subjectID
, jobID
, project
and
jobTag
are all string variables. The only numeric variable is
visitID
and the only date variable is visitDate
.
Dates are specified as strings in mm/dd/yyyy
format
(e.g. "03/20/2011"
). The variables map to different sections of a
CBF job entry as shown below.
To preview the effect of a filter expression entered to the "Filter" input field, press
the button. The results in the "Preview" list will be filtered
if there are no errors in the filter expression. Otherwise the syntax error will be shown
below the filter input panel. To revert back to the original set of CBF jobs, press the
button. Once you are satisfied with the filter expression,
you can apply it to the CBF job data set for real by pressing the
button.
You can save filter expressions for later usage. When you click the
button, the "Save Filter" panel will appear (as shown below),
where you can enter a name and a description for your filter and click
"Save" button to save it for later usage. The saved filter will be listed
in the "Filters" panel the next time you access the secondary filter panel.
To populate the filter input field with the selected filter press the
button next to the 'Filters' dropdown.
<variable> = <some number or string or date>
This operator checks if its right operand value is exactly matched
within the candidate CBF job entries to be included in the final filtered CBF
job data set. For example, visitDate = "05/20/2010"
can be used
to restrict the final CBF job data set to contain only jobs with visitDate value
of May 20th, 2010.
<variable> > <some number or date>
This operator checks if its right operand value is greater than the corresponding
variable value within the candidate CBF job entries to be included in the final filtered
CBF job data set. For example, visitDate > "05/20/2010"
can be used
to restrict the final CBF job data set to contain only jobs with visit dates after
May 20th, 2010.
<variable> >= <some number or date>
This operator checks if its right operand value is greater than or equal to
the corresponding variable value within the candidate CBF job entries to be included
in the final filtered CBF job data set. For example,
visitDate >= "05/20/2010"
can be used
to restrict the final CBF job data set to contain only jobs with visit dates
on or after May 20th, 2010.
<variable> < <some number or date>
This operator checks if its right operand value is less than the corresponding
variable value within the candidate CBF job entries to be included in the final filtered
CBF job data set. For example, visitDate < "05/20/2010"
can be used
to restrict the final CBF job data set to contain only jobs with visit dates before
May 20th, 2010.
<variable> <= <some number or date>
This operator checks if its right operand value is less than or equal to
the corresponding variable value within the candidate CBF job entries to be included
in the final filtered CBF job data set. For example,
visitDate <= "05/20/2010"
can be used
to restrict the final CBF job data set to contain only jobs with visit dates
on or before May 20th, 2010.
<variable> != <some number or string or date>
This operator checks if its right operand value does not match the
corresponding variable value within the candidate CBF job entries
to be included in the final filtered CBF
job data set. For example, visitDate != "05/20/2010"
can be used
to restrict the final CBF job data set to contain only jobs that have visit dates
other than May 20th, 2010.
<variable> hasAll [ <comma-separated numbers or strings> ]
This operator works on subject level and selects only CBF jobs for subjects having
ALL the values listed on its right operand. For example,
visitID hasAll [1,2,3]
selects only CBF jobs for subjects having
all three visits (1,2,3) processes. This would be helpful for repeated measures
analysis for example to ensure only balanced data sets without any missing visits
are included.
<variable> contains <some string>
For a string variable, this operator checks if its right operand value is contained
within the candidate CBF job entries to be included in the final filtered CBF
job data set. For example, jobTag contains "FAIR"
can be used
to restrict the final CBF job data set to only FAIR CBF jobs.
<variable> startsWith <some string>
For a string variable, this operator checks if its right operand value is the prefix
of the variable value within the candidate CBF job entries to be included
in the final filtered CBF job data set.
For example, jobTag startsWith "[FAIR"
can be used
to restrict the final CBF job data set to contain only FAIR CBF jobs,
by selecting jobTag
variables starting with the prefix "[FAIR".
<variable> endsWith <some string>
For a string variable, this operator checks if its right operand value is the suffix
of the variable value within the candidate CBF job entries to be included
in the final filtered CBF job data set.
For example, subjectID endsWith "8"
can be used
to select CBF jobs for subjects having 8 at their end of their subject numbers.
max(<variable>)
This predicate returns the maximum value for the specified variable within each
subject's CBF jobs. For example, to select the last visit for each subject, you can use
max(visitID)
or equivalently you can use max(visitDate)
to select
CBF jobs corresponding to the latest visit for each subject.
min(<variable>)
This predicate returns the minimum value for the specified variable within each
subject's CBF jobs. For example, to select the first visit for each subject, you can use
min(visitID)
or equivalently you can use min(visitDate)
to select
CBF jobs corresponding to the earliest visit for each subject.
maxInVisit(<variable>)
This predicate returns the maximum value for the specified variable within each
visit's CBF jobs unlike max
predicate which operates on the subject level.
For example, to select the last executed CBF job for each visit, you can use
maxInVisit(jobID)
.
minInVisit(<variable>)
This predicate returns the minimum value for the specified variable within each
visit's CBF jobs unlike min
predicate which operates on the subject level.
For example, to select the first executed CBF job for each visit, you can use
minInVisit(jobID)
.