<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Ben Link (SAIC (NIH)) -->
<!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Linda Myles (NIH/CIT) -->
<!--MIPAV Image Header-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:element name="image">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Dataset-attributes">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Description" type="xs:string" minOccurs="0"/>
							<xs:element name="History" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="Linked-image" type="xs:string" minOccurs="0"/>
							<xs:element name="Image-offset" minOccurs="0"/>
							<xs:element name="Data-type">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Boolean"/>
										<xs:enumeration value="Byte"/>
										<xs:enumeration value="Unsigned Byte"/>
										<xs:enumeration value="Short"/>
										<xs:enumeration value="Unsigned Short"/>
										<xs:enumeration value="Integer"/>
										<xs:enumeration value="Long"/>
										<xs:enumeration value="Float"/>
										<xs:enumeration value="Double"/>
										<xs:enumeration value="ARGB"/>
										<xs:enumeration value="ARGB Ushort"/>
										<xs:enumeration value="ARGB Float"/>
										<xs:enumeration value="Complex"/>
										<xs:enumeration value="Complex Double"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Endianess">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Big"/>
										<xs:enumeration value="Little"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Extents" type="xs:positiveInteger" minOccurs="2" maxOccurs="5"/>
							<xs:element name="Resolutions" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Resolution" type="xs:float" minOccurs="2" maxOccurs="5"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Slice-spacing" type="xs:float" minOccurs="0"/>
							<xs:element name="Units" minOccurs="2" maxOccurs="5">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Unknown"/>
										<xs:enumeration value="Inches"/>
										<xs:enumeration value="Centimeters"/>
										<xs:enumeration value="Angstroms"/>
										<xs:enumeration value="Nanometers"/>
										<xs:enumeration value="Micrometers"/>
										<xs:enumeration value="Millimeters"/>
										<xs:enumeration value="Meters"/>
										<xs:enumeration value="Kilometers"/>
										<xs:enumeration value="Miles"/>
										<xs:enumeration value="Nanoseconds"/>
										<xs:enumeration value="Microseconds"/>
										<xs:enumeration value="Milliseconds"/>
										<xs:enumeration value="Seconds"/>
										<xs:enumeration value="Minutes"/>
										<xs:enumeration value="Hours"/>
										<xs:enumeration value="Hertz"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Compression" default="none">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="none"/>
										<xs:enumeration value="zipped"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Orientation" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Axial"/>
										<xs:enumeration value="Coronal"/>
										<xs:enumeration value="Sagittal"/>
										<xs:enumeration value="Unknown"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Subject-axis-orientation" minOccurs="0" maxOccurs="3">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Unknown"/>
										<xs:enumeration value="Right to Left"/>
										<xs:enumeration value="Left to Right"/>
										<xs:enumeration value="Posterior to Anterior"/>
										<xs:enumeration value="Anterior to Posterior"/>
										<xs:enumeration value="Inferior to Superior"/>
										<xs:enumeration value="Superior to Inferior"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Origin" type="xs:float" minOccurs="0" maxOccurs="4"/>
							<xs:element name="Matrix" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Transform-ID">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="Unknown"/>
													<xs:enumeration value="Scanner Anatomical"/>
													<xs:enumeration value="Another Dataset"/>
													<xs:enumeration value="Talairach Tournoux"/>
													<xs:enumeration value="MNI 152"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Data" type="xs:double" minOccurs="9" maxOccurs="16"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Modality" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Unknown Modality"/>
										<xs:enumeration value="Biomagenetic Imaging"/>
										<xs:enumeration value="Color Flow Doppler"/>
										<xs:enumeration value="Computed Radiography"/>
										<xs:enumeration value="Computed Tomography"/>
										<xs:enumeration value="Duplex Doppler"/>
										<xs:enumeration value="Diaphanography"/>
										<xs:enumeration value="Digital Radiography"/>
										<xs:enumeration value="Endoscopy"/>
										<xs:enumeration value="General Microscopy"/>
										<xs:enumeration value="Hardcody"/>
										<xs:enumeration value="Intraoral Radiography"/>
										<xs:enumeration value="Laser Surface Scan"/>
										<xs:enumeration value="Magnetic Resonance Angiography"/>
										<xs:enumeration value="Mammography"/>
										<xs:enumeration value="Magnetic Resonance"/>
										<xs:enumeration value="Magnetic Resonance Spectroscopy"/>
										<xs:enumeration value="Nuclear Medicine"/>
										<xs:enumeration value="Other"/>
										<xs:enumeration value="Positron Emission Tomography"/>
										<xs:enumeration value="Panoramic XRay"/>
										<xs:enumeration value="Radio Fluoroscopy"/>
										<xs:enumeration value="Radiographic Imaging"/>
										<xs:enumeration value="Radiotherapy Dose"/>
										<xs:enumeration value="Radiotherapy Image"/>
										<xs:enumeration value="Radiotherapy Plan"/>
										<xs:enumeration value="Radiotherapy Record"/>
										<xs:enumeration value="Radiotherapy Structure Set"/>
										<xs:enumeration value="Slide Microscopy"/>
										<xs:enumeration value="Single Photon Emission Computed Tomography"/>
										<xs:enumeration value="Thermography"/>
										<xs:enumeration value="Ultrasound"/>
										<xs:enumeration value="XRay Angiography"/>
										<xs:enumeration value="External Camera Photography"/>
										<xs:enumeration value="Red Free"/>
										<xs:enumeration value="FA"/>
										<xs:enumeration value="ICG"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="LUT-functions" minOccurs="0" maxOccurs="5">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Function-type">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="transfer"/>
													<xs:enumeration value="red"/>
													<xs:enumeration value="green"/>
													<xs:enumeration value="blue"/>
													<xs:enumeration value="alpha"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Point" type="xs:string" minOccurs="2" maxOccurs="unbounded"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="LUT" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="LUValue" type="xs:string" minOccurs="256" maxOccurs="256"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Subject-Information" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Subject-name" type="xs:string" minOccurs="0"/>
							<xs:element name="Race" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Caucasian"/>
										<xs:enumeration value="American Indian"/>
										<xs:enumeration value="African-American"/>
										<xs:enumeration value="Asian"/>
										<xs:enumeration value="Hispanic"/>
										<xs:enumeration value="Unknown"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Subject-ID" type="xs:string"/>
							<xs:element name="Diagnosis" type="xs:string" minOccurs="0"/>
							<xs:element name="Date-of-birth" type="xs:date" minOccurs="0"/>
							<xs:element name="Height" type="xs:positiveInteger" minOccurs="0"/>
							<xs:element name="Weight" type="xs:positiveInteger" minOccurs="0"/>
							<xs:element name="Sex" minOccurs="0">
								<xs:simpleType>
									<xs:restriction base="xs:string">
										<xs:enumeration value="Other"/>
										<xs:enumeration value="Female"/>
										<xs:enumeration value="Male"/>
									</xs:restriction>
								</xs:simpleType>
							</xs:element>
							<xs:element name="Body-part" type="xs:string" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Scan-attributes" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Equipment-model-name" type="xs:string" minOccurs="0"/>
							<xs:element name="Scan-ID" type="xs:string" minOccurs="0"/>
							<xs:element name="Protocol" type="xs:string" minOccurs="0"/>
							<xs:element name="Scan-date-time" type="xs:dateTime"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Investigators" minOccurs="0" maxOccurs="3">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Investigator-name" type="xs:string"/>
							<xs:element name="Title" type="xs:string" minOccurs="0"/>
							<xs:element name="Affiliation" type="xs:string" minOccurs="0"/>
							<xs:element name="Email" type="xs:string" minOccurs="0"/>
							<xs:element name="Phone" type="xs:string" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Thumbnail" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Thumbnail-data" type="xs:string" maxOccurs="683"/>
						</xs:sequence>
						<xs:attribute name="xDim" type="xs:int" use="required"/>
						<xs:attribute name="yDim" type="xs:int" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="Sets" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Set-description" type="xs:string"/>
							<xs:element name="Parameters" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Parameter-name" type="xs:string"/>
										<xs:element name="Parameter-description" type="xs:string" minOccurs="0"/>
										<xs:element name="Value-type">
											<xs:simpleType>
												<xs:restriction base="xs:string">
													<xs:enumeration value="ubyte"/>
													<xs:enumeration value="byte"/>
													<xs:enumeration value="ushort"/>
													<xs:enumeration value="short"/>
													<xs:enumeration value="int"/>
													<xs:enumeration value="long"/>
													<xs:enumeration value="float"/>
													<xs:enumeration value="double"/>
													<xs:enumeration value="string"/>
												</xs:restriction>
											</xs:simpleType>
										</xs:element>
										<xs:element name="Value" type="xs:string"/>
										<xs:element name="Parameter-date-time" type="xs:dateTime" minOccurs="0"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Annotation" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Text-location" type="xs:string"/>
							<xs:element name="Text" type="xs:string"/>
							<xs:element name="Font-color" type="xs:string"/>
							<xs:element name="Font-descriptor" type="xs:int"/>
							<xs:element name="Font-size" type="xs:int"/>
							<xs:element name="Font-type" type="xs:string"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="VOI" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="VOI-path" type="xs:string"/>
							<xs:element name="Load-VOI-with-image" type="xs:boolean" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Surface" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Surface-path" type="xs:string"/>
							<xs:element name="Load-surface-with-image" type="xs:boolean" minOccurs="0"/>
							<xs:element name="Surface-opacity" minOccurs="0"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="Talairach" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="origAC" type="xs:float" minOccurs="3" maxOccurs="3"/>
							<xs:element name="origPC" type="xs:float" minOccurs="3" maxOccurs="3"/>
							<xs:element name="origDim" type="xs:int" minOccurs="3" maxOccurs="3"/>
							<xs:element name="origRes" type="xs:float" minOccurs="3" maxOccurs="3"/>
							<xs:element name="origOrient" type="xs:float" minOccurs="9" maxOccurs="9"/>
							<xs:element name="acpcPC" type="xs:float" minOccurs="3" maxOccurs="3"/>
							<xs:element name="acpcRes" type="xs:float"/>
							<xs:element name="tlrcInfo" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="acpcMin" type="xs:float" minOccurs="3" maxOccurs="3"/>
										<xs:element name="acpcMax" type="xs:float" minOccurs="3" maxOccurs="3"/>
										<xs:element name="tlrcRes" type="xs:float" minOccurs="7" maxOccurs="7"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="filename" type="xs:string" use="optional"/>
			<xs:attribute name="nDimensions" type="xs:int" use="required"/>
		</xs:complexType>
	</xs:element>
</xs:schema>
