The user application page is
ShapeDensity
ShapeDensity Project Definition
Overview
The processes that create surfaces describing anatomical surfaces
implicitly make use of various parametrization.
This application will calculate various surface metrics that describe
the uniformity of the parametrization of a surface. The application saves these results as either of
- a duplicate surface, but with the calculated surface uniformity values saved as scalar numbers, associated with the vertices of the input shape(s).
- a table of vertices and surface uniformity values.
Currently supported measurements are:
- distance of each vertex to it's nearest neighbor.
- average of the distances each vertex to it's neighbors.
Measurements planned for future implementation are:
- The density of neighboring vertices within a user specified radius of each vertex.
Restrictions, Exclusions, Limitations
People Affected
Version
1.0.0
Requirements
- This program will be written using Java 1.5
- This program will use the ShapeTools and ShapeToolsIO libraries.
- Results will be written to a new output file whose name is specified by the user. The vertices and faces of this output file will be identical to that of the corresponding input file.
- The standard shape tools command line arguments (-pipeline, -twiki, -help,...) will be supported.
- A text command line interface (not a Gui) is used.
- The program will be able to read and write a single file via command line arguments (ex: -input file.off -out file_density.dfs)
- Input file formats
- All surface file formats readable by the ShapeTools library may be read.
- Output file formats
- Can be specified by the user at run time. (ex: -outputType dfs). Supported formats include: DFS2, CCBBM2, Ucf, OpenDX.
- Output file names
- May be explicitly set by a command line arg: (ex: -outputFile out.dfs)
- May be implicitly set by specifying a suffix to modify the input (ex: -input foo.ucf -outputSuffix _density causes foo_density.ucf to be written.
- Calculations
- The user may request a summary of the calculations be saved to an output file (e.g. -summary summaryFile).
- each line of this tab-delimited ascii file will contain: inputFileName, maxValue, maxValueVertexIndex, minValue, minValueVertexIndex
- this file will have a single header line, whose columns will reflect the requested calculations (Ex: Filename /t maxNearDistance /t maxNearDistanceVertex )
- this file will have a single line per input file, whose columns will reflect the requested calculations (Ex: in.ucf /t 2.3 /t 1023 ).
- Any combination of the supported calculations may be computed in a single run of the program. If the output file format does not support more than one scalar attribute per vertex, then an error will be reported, and the program will cease with error status. (ex: -
- The user may override the default name of the calculation attributes.
- The programs 'help' facility will report the default name of the calculation attributes.
- The programs 'help' facility will report calculation that are supported, and list the commmand line arguments needed to invoke them.
- The application package will be: edu.ucla.loni.ccb.shape.apps.shapedensity .
- The various density calculation classes implementations will be part of this pacakge: edu.ucla.loni.ccb.shape.geometry.measurements .
- The various density calculation classes will implement the PointSetScalar interface.
Requirements Change Procedure
- Changes to be mutually agreed upon by Craig and Ryan.
- Changes and their date will be entered in a 'requirements change' list.
Requirements Changes
Products
This project will result in the following products:
- A Java application jar that will perform the calculations described above.
- An SVN ShapeTools repository containing the Java source code,and test data files, of this application
- TWiki documatation including
- Examples illustrating use of the application.
- detailed description of the calculations
Notes
definition of the distance of each vertex to it's nearest neighbor.
tbd
definition of the average of the distances each vertex to it's neighbors.
tbd
Lessons Learned