freesurfer-parser v0.0.2
freesurfer-parser
Parse a freesurfer volume file/string. By default, this will parse a string, setting the first line as the header. Any unexpected properties will be removed by default as well.
Usage
fileContent = fs.readFileSync('/path/to/file.txt').toString();
FreeSurfer = require('freesurfer-parser');
freeSurfer = new FreeSurfer({string: fileContent});
console.log(freeSurfer);Constructor Methods
new FreeSurfer(options)
@param {object} options may have the following keys:
- values: Initial values to set on the returned object. defaults to
null - string: A string from which to parse values. defaults to
null - headerCount: The number of lines in
stringthat contain header data. defaults to0 - removeInvalidFields: Whether to strip invalid fields after parsing.
_defaults to
true - validate: Whether to validate all fields after parsing. defaults to true
- values: Initial values to set on the returned object. defaults to
@return {object} FreeSurfer instance
FreeSufer.setEol(value)
- @param {string} value to be used as the line-break character when parsing.
defaults to
\n - @returns {string} the previous value used as line-break
FreeSufer.setDelimiter(value)
- @param {string} value to be used as the delimiting character between ROI and measured volume.
defaults to
/\s+/(whitespace) - @returns {string} the previous value
FreeSufer.setDefaultHeaderCount(value)
- @param {int} value to be used when assigning header rows during parsing.
defaults to
1 - @returns {int} the previous value
Instance Methods
setFromString(string, headerCount)
- @param {string} string to be parsed
@param {number} headerCount is the number of header lines to expect. The header lines will be assigned to the 'header' property of the instance. defaults to 0
@return {object} self
This method merges the key/value pairs parsed from the string with the current instance.
trimInvalidFields()
- @return {object} self
Remove any properties whose keys are not in the validFields of the schema (see lib/schema.js)
validate()
- @return {object} self
Assert that the current object has only the requisite properties. Throws an error if assertion fails.
rando
- a dummy FreeSurfer generator exists in
scripts/generator.js. use it if you so desire.
Contributing
Please submit any changes to this repo (including additions and subtractions from the lint config files) as pull requests.
TODO
- TODO: add option to create from readStream