Last modified 12 years ago Last modified on 05/08/06 16:23:24

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).


<?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
  	    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 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 name="Labels" ident="Map">
		<Type name="Labels" ident="xmlMap" class="" creatable="true" pref="1"/>
		<Type name="Skandha Labels" ident="OldMap" class="" pref="2"/>
	<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" 
	<View class="edu.washington.biostr.sig.brainj3d.view3D.BranchGroupSurface3DView" 
	<View class="edu.washington.biostr.sig.brainj3d.view.ImageView" 
	<View class="edu.washington.biostr.sig.brainj3d.viewvolume.VolumeDataView" 
	<View class="edu.washington.biostr.sig.brainj3d.view3D.VolumeSurface3DView" 
	<View class="edu.washington.biostr.sig.brainj3d.view3D.MapSurface3DView" 
	<View class="edu.washington.biostr.sig.brainj3d.viewvolume.MapVolumeView" 
	<View class="" 
	<View class="edu.washington.biostr.sig.brainj3d.plugin.plaintext.PlainTextView" 

	<!--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 
	    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 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 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 
	<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"/>