Version 1.0
The comments are inline, a DTD or schema does not exist yet.
Recurring Attributes
- class refers to a fully qualified Java class name that can be found on the class path.
- name refers to a human readable name that should uniquely identify the object.
- file refers to either a full URL to the file, or a relative URL that can be found with ClassLoader.getResource(file).
- ident refers to an identifier for referencing the object from within the config files and MindSeer.
- When refering to another object within this file, the common form is lower case tag name = ident (i.e. viewport=ident).
File
<?xml version="1.0" encoding="UTF-8"?> <MindSeer version="1.0"> <!--The order to define nodes in is important: 1. Types and TypeGroups 2. Template or View or ViewPort 3. ViewMapping Info nodes can go anywhere. --> <!--Types can either be part of a group or independent. TypeGroups have a human readable name and an ident that is used to refer to it regardless of language or terminology. Likewise, the type has a name and ident, but it also has the class that generates it and a preference (pref). The preference is a number from 1 to 3. The most preferred type for a group should be "1" (an encoder must also be defined). "2" signifies that the type is acceptable and there is particularly good or bad about it. "3" means that the type is discouraged. For some reason it is not as efficient or expressive as a preferred or acceptable type. The optional "creatable" flag defaults to false, but signals to MindSeer that an blank file of this type can be created out of thin air. If a type is not encodable or requires any special steps to create, then it should not be creatable. --> <TypeGroup name="Surface" ident="Surface"> <Type name="SPM Surface" ident="SPMSurface" class="edu.washington.biostr.sig.brainj3d.model.MatModelType" pref="3"/> <Type name="OBJ Surface" ident="ObjSurface" class="edu.washington.biostr.sig.brainj3d.model.ObjFileType" pref="3"/> <Type name="OFF Surface" ident="OFFSurface" class="edu.washington.biostr.sig.brainj3d.model.geomview.OFFModelType" pref="1"/> </TypeGroup> <TypeGroup name="Volume" ident="Volume"> <Type name="Minc Volume" ident="Minc" class="edu.washington.biostr.sig.brainj3d.volume.MincFileType" pref="2"/> <Type name="Analyze Volume" ident="Analyze" class="edu.washington.biostr.sig.brainj3d.volume.AnalyzeFileType" pref="2"/> </TypeGroup> <TypeGroup name="Labels" ident="Map"> <Type name="Labels" ident="xmlMap" class="edu.washington.biostr.sig.brainj3d.map.XMapType" creatable="true" pref="1"/> <Type name="Skandha Labels" ident="OldMap" class="edu.washington.biostr.sig.brainj3d.map.OldMapType" pref="2"/> </TypeGroup> <Type name="Image" ident="Image" class="edu.washington.biostr.sig.brainj3d.image.ImageType"/> <Type name="Plain Text" ident="PlainText" class="edu.washington.biostr.sig.brainj3d.plugin.plaintext.PlainTextType"/> <Type name="Workspace" ident="Workspace" class="edu.washington.biostr.sig.brainj3d.core.files.WorkspaceType" creatable="true"/> <!--Templates are used to create new subtrees in the workspace (vault). There are also user templates which are discovered automatically from the user directory. --> <Template file="resources/templates/Coordinate Space.tree.xml"/> <Template file="resources/templates/Subject.tree.xml"/> <Template file="resources/templates/Modality.tree.xml"/> <!--A view specifies a mapping between a class of Data (data) and a DataView (class). --> <View class="edu.washington.biostr.sig.brainj3d.view3D.IndexedSurface3DView" data="edu.washington.biostr.sig.brainj3d.model.IndexedModel3DData"/> <View class="edu.washington.biostr.sig.brainj3d.view3D.BranchGroupSurface3DView" data="edu.washington.biostr.sig.brainj3d.model.SharedGroupData"/> <View class="edu.washington.biostr.sig.brainj3d.view.ImageView" data="edu.washington.biostr.sig.brainj3d.image.ImageData"/> <View class="edu.washington.biostr.sig.brainj3d.viewvolume.VolumeDataView" data="edu.washington.biostr.sig.brainj3d.volume.VolumeData"/> <View class="edu.washington.biostr.sig.brainj3d.view3D.VolumeSurface3DView" data="edu.washington.biostr.sig.brainj3d.volume.VolumeData"/> <View class="edu.washington.biostr.sig.brainj3d.view3D.MapSurface3DView" data="edu.washington.biostr.sig.brainj3d.map.LabelData"/> <View class="edu.washington.biostr.sig.brainj3d.viewvolume.MapVolumeView" data="edu.washington.biostr.sig.brainj3d.map.LabelData"/> <View class="edu.washington.biostr.sig.brainj3d.map.LabelDataView" data="edu.washington.biostr.sig.brainj3d.map.LabelData"/> <View class="edu.washington.biostr.sig.brainj3d.plugin.plaintext.PlainTextView" data="edu.washington.biostr.sig.brainj3d.plugin.plaintext.PlainTextData"/> <!--View Ports specify the displayable name (name), the identifier used in configuration files (ident) and the class (class). Additionally, they may have 2 kinds of controls specified beneath them: ViewControl (which should control the view) and AdvancedControl (which is not a data, appearance or view control). These have the same format. They just require the human displayable name (name) and the class (class). --> <ViewPort name="Surface ViewPort" ident="SurfaceVP" class="edu.washington.biostr.sig.brainj3d.view3D.Model3DViewPort"> <ViewControl name="Viewing Angle" class="edu.washington.biostr.sig.brainj3d.view3D.Focus3DController"/> <ViewControl name="Wedge" class="edu.washington.biostr.sig.brainj3d.view3D.CutawayController"/> </ViewPort> <ViewPort name="Image ViewPort" ident="ImageVP" class="edu.washington.biostr.sig.brainj3d.view.ImageViewPort"/> <ViewPort name="Slice ViewPort" ident="SliceVP" class="edu.washington.biostr.sig.brainj3d.viewvolume.VolumeViewPort"> <ViewControl name="Volume Order" class="edu.washington.biostr.sig.brainj3d.viewvolume.VolumeOrder"/> </ViewPort> <ViewPort name="Label ViewPort" ident="LabelVP" class="edu.washington.biostr.sig.brainj3d.view.MapViewPort"/> <ViewPort name="Text ViewPort" ident="PlainTextVP" class="edu.washington.biostr.sig.brainj3d.plugin.plaintext.PlainTextViewPort"/> <!--View Mappings specify the default ViewPort for a given type. These are required for each type. They are kept separate because they should be set independently of the type and viewport. --> <ViewMapping type="OFFSurface" viewport="SurfaceVP"/> <ViewMapping type="ObjSurface" viewport="SurfaceVP"/> <ViewMapping type="SPMSurface" viewport="SurfaceVP"/> <ViewMapping type="Minc" viewport="SliceVP"/> <ViewMapping type="Analyze" viewport="SliceVP"/> <ViewMapping type="xmlMap" viewport="LabelVP"/> <ViewMapping type="OldMap" viewport="LabelVP"/> <ViewMapping type="Image" viewport="ImageVP"/> <ViewMapping type="PlainText" viewport="PlainTextVP"/> <!--Info nodes contain other info in a key (which is unique)->value mapping. A mapping for "help" is required so that MindSeer can find the user help documentation. --> <Info key="help" value="user"/> </MindSeer>
