open-discussion > Tool/Resource Function Keywords
Sep 14, 2007  05:09 PM | David Kennedy
Tool/Resource Function Keywords
software tools function keywords. These keyword selections are specific for the software class of resource, and are not necessarily applicable to the Data or Dissemination classes of resource.

The NCBC ontology and NITRC/IATR have a long list of software function keywords.

One issue for me is how these are represented in the NCBC Ontology (public protege) file. The mapping between this 'ontology' and the minimal tool/resource description is not clear to me (or perhaps I not sure how to read the meaning of the protege file...).

According to the 'Collaborative+SoftwareOntology', an Atomic (software!) class, we need to describe: Purpose, DataTypology, Input, Output, AssociatedURL, BiologicalConcept, AreaOfApplication, Algorithm, Document, SoftwareFunction, SoftwareType and Integration and Interoperability Tools. Only some of these are from NCBC minimal (URL, description = purpose, keywords = SoftwareFunction, Type of resource is implicit from the class atomic) and it's not clear where the other minimal requirement go (name, stage, license, Organization).

So, apart from the protege workings, presumably, if there are things missing, they can be added, and extra things can be present, and they are available for greater than minimal compliance, and can be consistent with the observation by Ivo earlier that resources like CCB and NITRC may indeed capture more than minimal information.

So, the next topic is softwarefunction keywords. Lets start from the higher levels, particularly with respect to image processing types of tools (a given tool may have one, or many of these function keywords): (+ means some sort of high-level NCBC -> NITRC mapping, see below)

* Computational Geometry +
* Genomic & Phenotypic Analysis
* Image Processing
o Atlas Generation +
o Cortical Modeling +
o EDA ??? What's this?
o Pre-Processing +
+ Data Transforms +
# Spectral Transforms +
* Fourier Transform +
* Wavelet Transform +
+ Filtering +
# Skull Stripping
* Inhomogeneity Correction
o Registration +
o Segmentation +

* Interaction Modeling

* Natural Language Processing

* Numerical Methods
o ComputationalGeometry +
o LinearAlgebraTools
o MonteCarloSimulation
o NumericalIntegrators
o Optimizers
o PDESolvers
o RootFinders

* Protein Modeling and Classification

* Software Engineering and Development Tool
o Cross-LanguageWrapping
o Cross-Platform Tools
o Document Generation
o Integration
o Ontology Development and Management
o Source Control
o Testing Tools

* Statistical Analysis +
o Statistical Package

* Visualization +
o Clinical Charts e.g., Demographics
o Graph Viewers
+ Hyperbolic Graphs
# Hierarchical Trees
o Imaging
+ Cross-Sectional Viewers
# Manifold Viewers 2D, 3D, 4D, ND
+ Molecular Structure Viewers
o Sequences


NITRC High-level software function descriptors:

* Atlas => NCBC: Image Processing: Atlas Generation
* Database => no mapping, perhaps because database would be of the Data Resource class of entry
* Information Theory => no mapping?
* Modeling => NCBC: Interaction Modeling?, NCBC: Protein Modeling & Classification?, NCBC: Image Processing: Cortical Modeling
* Quantification => no mapping?
* Surface Analysis => NCBC: Computational Geometry, NCBC: Numerical Methods: Computational Geometry
* Tensor Metrics => no mapping?
* Segmentation => NCBC: Image Processing : Segmentation
* Shape Analysis => no mapping?
* Image Reconstruction => NCBC: Image Processing: pre-processing
* Spatial Transformations => NCBC: Image Processing: pre-processing
o Frequency Domain
o Intensity Operations
o Quality Metrics
o Registration => NCBC: Image Processing: Registration
o Resampling
o Spatial Convolution - Deconvolution
o Warping
o Wavelet Transformation
* Statistical Operations => NCBC: Statistical Analysis
* Temporal Transformations => NCBC: Image Processing: pre-processing: Spectral transformations
* Time Domain Analysis => NCBC: Image Processing: pre-processing: Spectral transformations
* Tractography => no mapping?
* Visualization => NCBC: Visualization
* Workflow => no mapping?


So, in summary, most of the imaging related NCBC functionality is in the NITRC hierarchy as well; lots of the 'other NCBC' functionality is not also represented in NITRC (proteins, engineering, interaction, NLP, etc.). Some of the NITRC entries are not included in NCBC (tensor/tractography, workflow, shape, etc.). he things that do match can use some further discussion (NCBC uses pre-processing at a level over some functions that I'm not sure is necessary, NITRC includes Temporal Transformations and Time domain analysis, which are probably synonymous... etc.), but I contend that a 'small' number of folks can still hash out a reasonable position on these issues.