Showing:

Annotations
Attributes
Diagrams
Facets
Instances
Model
Properties
Source
Used by

Table of Contents

Group by:

Resource hierarchy:

Main schema devices.xsd
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Properties
attribute form default unqualified
element form default unqualified
[ top ]
Included schema filters.xsd
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Properties
attribute form default unqualified
element form default unqualified
[ top ]
Included schema parameter.xsd
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Properties
attribute form default unqualified
element form default unqualified
[ top ]
Element apex:devicesType / master
Namespace No namespace
Annotations
The master device is that last one to be
started after all stimuli are loaded for all devices. This
feature can be used when using triggers to synchronize
devices.
Diagram
Diagram
Type xs:IDREF
Properties
content simple
minOccurs 0
maxOccurs 1
Source
<xs:element name="master" type="xs:IDREF" minOccurs="0" maxOccurs="1">
  <xs:annotation>
    <xs:documentation>The master device is that last one to be started after all stimuli are loaded for all devices. This feature can be used when using triggers to synchronize devices.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:devicesType / device
Namespace No namespace
Annotations
All real devices derive from this
base.
Diagram
Diagram devices.tmp#deviceType_id devices.tmp#deviceType
Type apex:deviceType
Properties
content complex
minOccurs 0
maxOccurs unbounded
Attributes
QName Type Use
id xs:ID required
Source
<xs:element name="device" type="apex:deviceType" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>All real devices derive from this base.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / driver
Namespace No namespace
Annotations
Driver architecture to be used for sound
output
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
minOccurs 0
Facets
enumeration dummy
Dummy soundcard
enumeration portaudio
Portaudio is a cross-platform audio
framework
enumeration qtaudio
Qt Multimedia framework
enumeration asio
ASIO is a proprietary windows/mac-only audio
framework by Steinberg. Use it if low latency/more then
2 channels is required.
enumeration coreaudio
CoreAudio is MacOsX' audio framework.
enumeration jack
Jack is a cross-platform audio
framework. A jack connection will be made to the "drivername" specified in the main config file.
Source
<xs:element name="driver" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Driver architecture to be used for sound output</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="dummy">
        <xs:annotation>
          <xs:documentation>Dummy soundcard</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="portaudio">
        <xs:annotation>
          <xs:documentation>Portaudio is a cross-platform audio framework</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="qtaudio">
        <xs:annotation>
          <xs:documentation>Qt Multimedia framework</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="asio">
        <xs:annotation>
          <xs:documentation>ASIO is a proprietary windows/mac-only audio framework by Steinberg. Use it if low latency/more then 2 channels is required.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="coreaudio">
        <xs:annotation>
          <xs:documentation>CoreAudio is MacOsX' audio framework.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="jack">
        <xs:annotation>
          <xs:documentation>Jack is a cross-platform audio framework. A jack connection will be made to the "drivername" specified in the main config file.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:wavDeviceType / card
Namespace No namespace
Annotations
Name of the soundcard to be used. Cards are defined in
the main config file. Every soundcard in the system can be
enumerated in the main configfile. Use the ID defined there.
Otherwise the "default" card can be used.
Diagram
Diagram
Type xs:string
Properties
content simple
minOccurs 0
Source
<xs:element name="card" type="xs:string" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Name of the soundcard to be used. Cards are defined in the main config file. Every soundcard in the system can be enumerated in the main configfile. Use the ID defined there. Otherwise the "default" card can be used.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / channels
Namespace No namespace
Annotations
Number of output channels to be used. This is
restricted by the selected driver, with a maximum of 2 for
portaudio.
Diagram
Diagram
Type xs:positiveInteger
Properties
content simple
Source
<xs:element name="channels" type="xs:positiveInteger">
  <xs:annotation>
    <xs:documentation>Number of output channels to be used. This is restricted by the selected driver, with a maximum of 2 for portaudio.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / gain
Namespace No namespace
Annotations
Final gain of the device, implemented with a software
mixer.
Diagram
Diagram devices.tmp#filterParam devices.tmp#gainparam devices.tmp#channelGainType_channel devices.tmp#channelGainType
Type apex:channelGainType
Type hierarchy
Properties
content complex
minOccurs 0
maxOccurs unbounded
Attributes
QName Type Use Annotation
channel xs:nonNegativeInteger optional
Used to specify a single channel to apply gain to,
instead of applying it to all channels at once.
For example, for an amplifier having two channels, these are set independently by using <gain id="ch0" channel="0">-3.00</gain>
<gain id="ch1" channel="1">-6.00</gain> Channels are zero based, ie the first channel is 0, the
second 1 and so on.
id xs:ID optional
Source
<xs:element name="gain" type="apex:channelGainType" minOccurs="0" maxOccurs="unbounded">
  <xs:annotation>
    <xs:documentation>Final gain of the device, implemented with a software mixer.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / samplerate
Namespace No namespace
Annotations
Sample rate of the device. Warning: not all sample
rates are supported by all devices and some drivers automatically
convert to other sample rates. Check your sound card
documentation.
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
Facets
enumeration 16000
enumeration 44100
enumeration 96000
enumeration 32000
enumeration 48000
enumeration 8000
enumeration 22050
enumeration 72000
Source
<xs:element name="samplerate">
  <xs:annotation>
    <xs:documentation>Sample rate of the device. Warning: not all sample rates are supported by all devices and some drivers automatically convert to other sample rates. Check your sound card documentation.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="16000"/>
      <xs:enumeration value="44100"/>
      <xs:enumeration value="96000"/>
      <xs:enumeration value="32000"/>
      <xs:enumeration value="48000"/>
      <xs:enumeration value="8000"/>
      <xs:enumeration value="22050"/>
      <xs:enumeration value="72000"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:wavDeviceType / buffersize
Namespace No namespace
Annotations
Applies to the soundcard buffer size, not the internal apex buffer size.
Larger sizes are
more efficient, smaller sizes have smaller latencies.
Some notes: for asio, latency is always ( 2 * buffersize + overhead ) / samplerate.
The overhead is very small, eg 16 samples for an Rme Multiface.
Portaudio however always uses a number of internal buffers, mostly 4. Hence, actual latency
is ( 2 * 4 * buffersize + overhead ) / samplerate.
For asio/jack: must be set to the system buffer size.
Diagram
Diagram
Type xs:positiveInteger
Properties
content simple
minOccurs 0
Source
<xs:element name="buffersize" minOccurs="0" type="xs:positiveInteger">
  <xs:annotation>
    <xs:documentation>Applies to the soundcard buffer size, not the internal apex buffer size. Larger sizes are more efficient, smaller sizes have smaller latencies. Some notes: for asio, latency is always ( 2 * buffersize + overhead ) / samplerate. The overhead is very small, eg 16 samples for an Rme Multiface. Portaudio however always uses a number of internal buffers, mostly 4. Hence, actual latency is ( 2 * 4 * buffersize + overhead ) / samplerate. For asio/jack: must be set to the system buffer size.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / blocksize
Namespace No namespace
Annotations
Applies to the block size that is used in the internal apex audio streams (for filters etc.).
Larger sizes are more efficient, smaller sizes have smaller latencies. If not defined, the soundcard buffersize will be used.
Diagram
Diagram
Type xs:positiveInteger
Properties
content simple
minOccurs 0
Source
<xs:element name="blocksize" minOccurs="0" type="xs:positiveInteger">
  <xs:annotation>
    <xs:documentation>Applies to the block size that is used in the internal apex audio streams (for filters etc.). Larger sizes are more efficient, smaller sizes have smaller latencies. If not defined, the soundcard buffersize will be used.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / buffersize_apex
Namespace No namespace
Annotations
Size of internal apex sound buffer in seconds. This buffer ensures that no buffer
underruns occur. The default value is 1s. If continuous filters are used, the system will need
this amount of seconds before the next stimulus can be output.
Note that the value in seconds is rounded down to the nearest multiple of 8192 samples
(the buffersize used to fill the buffer):
so using 1 second here, with a samplerate of 44100, the actual amount of time will be
40960 samples / 44100 samples/sec = 0.9 seconds.
    If a buffersize smaller than 16384 samples is specified, a buffer of 16384 samples
    will be used.
Diagram
Diagram
Type restriction of xs:decimal
Properties
content simple
minOccurs 0
Facets
maxInclusive 60
minExclusive 0
Source
<xs:element name="buffersize_apex" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Size of internal apex sound buffer in seconds. This buffer ensures that no buffer underruns occur. The default value is 1s. If continuous filters are used, the system will need this amount of seconds before the next stimulus can be output. Note that the value in seconds is rounded down to the nearest multiple of 8192 samples (the buffersize used to fill the buffer): so using 1 second here, with a samplerate of 44100, the actual amount of time will be 40960 samples / 44100 samples/sec = 0.9 seconds. If a buffersize smaller than 16384 samples is specified, a buffer of 16384 samples will be used.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:decimal">
      <xs:minExclusive value="0"/>
      <xs:maxInclusive value="60"/>
    </xs:restriction>
  </xs:simpleType>
  <!--xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="0.5"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="1.5"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="3"/>
                          <xs:enumeration value="4"/>
                          <xs:enumeration value="5"/>
                          <xs:enumeration value="10"/>
                        </xs:restriction>
                      </xs:simpleType-->
</xs:element>
[ top ]
Element apex:wavDeviceType / padzero
Namespace No namespace
Annotations
If smaller than 16: add padzero*8196 samples to the end of each stream. If larger than 16: add padzero samples to the end of each stream. 
This avoids dropping of the last N frames on some soundcards (notoriously LynxOne and FirefaceUC)
Diagram
Diagram
Type xs:nonNegativeInteger
Properties
content simple
minOccurs 0
Source
<xs:element name="padzero" type="xs:nonNegativeInteger" minOccurs="0">
  <xs:annotation>
    <xs:documentation>If smaller than 16: add padzero*8196 samples to the end of each stream. If larger than 16: add padzero samples to the end of each stream. This avoids dropping of the last N frames on some soundcards (notoriously LynxOne and FirefaceUC)</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:wavDeviceType / cisim
Namespace No namespace
Annotations
Parameters for automatic CI
simulation
Diagram
Diagram devices.tmp#cisimType_number_electrodes devices.tmp#cisimType_pulserate devices.tmp#cisimType_noiseband devices.tmp#cisimType
Type apex:cisimType
Properties
content complex
minOccurs 0
Model
Children noiseband, number_electrodes, pulserate
Instance
<cisim>
  <number_electrodes>{1,1}</number_electrodes>
  <pulserate>{1,1}</pulserate>
  <noiseband electrode="">{1,unbounded}</noiseband>
</cisim>
Source
<xs:element name="cisim" type="apex:cisimType" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Parameters for automatic CI simulation</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:cisimType / number_electrodes
Namespace No namespace
Diagram
Diagram
Type xs:positiveInteger
Properties
content simple
Source
<xs:element name="number_electrodes" type="xs:positiveInteger"/>
[ top ]
Element apex:cisimType / pulserate
Namespace No namespace
Diagram
Diagram
Type xs:integer
Properties
content simple
Source
<xs:element name="pulserate" type="xs:integer"/>
[ top ]
Element apex:cisimType / noiseband
Namespace No namespace
Diagram
Diagram devices.tmp#cisimType_cisimType_noiseband_electrode
Type extension of xs:IDREF
Properties
content complex
minOccurs 1
maxOccurs unbounded
Attributes
QName Type Use
electrode xs:positiveInteger optional
Source
<xs:element name="noiseband" minOccurs="1" maxOccurs="unbounded">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:IDREF">
        <xs:attribute name="electrode" type="xs:positiveInteger"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:pluginController / plugin
Namespace No namespace
Diagram
Diagram
Type xs:anyURI
Properties
content simple
Source
<xs:element name="plugin" type="xs:anyURI"/>
[ top ]
Element apex:pluginController / parameter
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam devices.tmp#pluginController_pluginController_parameter_name devices.tmp#pluginController_pluginController_parameter_channel
Type extension of xs:string
Properties
content complex
minOccurs 0
maxOccurs unbounded
Attributes
QName Type Use
channel xs:nonNegativeInteger optional
id xs:ID optional
name xs:Name required
Source
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="apex:filterParam"/>
        <xs:attribute name="name" type="xs:Name" use="required"/>
        <xs:attribute name="channel" type="xs:nonNegativeInteger" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:CohDeviceType / device
Namespace No namespace
Annotations
Device identifier. For NIC 2, this identifier consists of three parts: the device type (e.g. l34) , the implant type (e.g. cic3, cic4) and the device number (e.g. 1, ordered according to the assigned COM port, device 0 is a simulated device).
Diagram
Diagram
Type xs:string
Properties
content simple
Source
<xs:element name="device" type="xs:string">
  <xs:annotation>
    <xs:documentation>Device identifier. For NIC 2, this identifier consists of three parts: the device type (e.g. l34) , the implant type (e.g. cic3, cic4) and the device number (e.g. 1, ordered according to the assigned COM port, device 0 is a simulated device).</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:CohDeviceType / trigger
Namespace No namespace
Annotations
Generate or use a trigger from the audio port.
Currently the trigger button status is not checked (nicv2 doesn't
allow this yet)
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
Facets
enumeration in
enumeration out
enumeration none
Source
<xs:element name="trigger">
  <xs:annotation>
    <xs:documentation>Generate or use a trigger from the audio port. Currently the trigger button status is not checked (nicv2 doesn't allow this yet)</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="in"/>
      <xs:enumeration value="out"/>
      <xs:enumeration value="none"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:CohDeviceType / powerup_count
Namespace No namespace
Annotations
Number of powerup pulses to send.
No powerup pulses will be sent if this is set
to 0.
Diagram
Diagram
Type xs:nonNegativeInteger
Properties
content simple
minOccurs 0
default 4000
Source
<xs:element name="powerup_count" minOccurs="0" default="4000" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Number of powerup pulses to send. No powerup pulses will be sent if this is set to 0.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:CohDeviceType / volume
Namespace No namespace
Diagram
Diagram devices.tmp#volumeParam devices.tmp#filterParam
Type extension of apex:volumeParam
Type hierarchy
Properties
content complex
minOccurs 0
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="volume" minOccurs="0">
  <xs:complexType>
    <xs:annotation>
      <xs:documentation>Volume parameter for Cochlear device. The current level (in clinical units) is calculated according the following formula: round(t + (c-t) * volume/100 * mag) Where: t=treshold level c=comfort level volume=current value of volume parameter mag=magnitude [0,1]</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="apex:volumeParam">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:CohDeviceType / defaultmap
Namespace No namespace
Annotations
Defines the default subject map to be
used
Diagram
Diagram devices.tmp#CohDeviceType_CohDeviceType_defaultmap_inline devices.tmp#CohDeviceType_CohDeviceType_defaultmap_from_r126
Properties
content complex
Model
Children from_r126, inline
Instance
<defaultmap>
  <inline id="">{1,1}</inline>
  <from_r126>{1,1}</from_r126>
</defaultmap>
Source
<xs:element name="defaultmap">
  <xs:annotation>
    <xs:documentation>Defines the default subject map to be used</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:choice>
      <xs:element name="inline" type="apex:CohMap">
        <xs:annotation>
          <xs:documentation>The map is defined below</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="from_r126">
        <xs:annotation>
          <xs:documentation>The user can select the map from the R126 wizard. R126 is the clinical fitting software.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:choice>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:CohDeviceType / defaultmap / inline
Namespace No namespace
Annotations
The map is defined
below
Diagram
Diagram devices.tmp#CohMap_id devices.tmp#CohMap_number_electrodes devices.tmp#CohMap_mode devices.tmp#CohMap_pulsewidth devices.tmp#CohMap_pulsegap devices.tmp#CohMap_period devices.tmp#CohMap_trigger devices.tmp#CohMap_channel devices.tmp#CohMap
Type apex:CohMap
Properties
content complex
Model
Children channel, mode, number_electrodes, period, pulsegap, pulsewidth, trigger
Instance
<inline id="">
  <number_electrodes>{1,1}</number_electrodes>
  <mode>{1,1}</mode>
  <pulsewidth>{1,1}</pulsewidth>
  <pulsegap>{1,1}</pulsegap>
  <period>{1,1}</period>
  <trigger>{0,1}</trigger>
  <channel comfort="" electrode="" number="" threshold="">{1,22}</channel>
</inline>
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="inline" type="apex:CohMap">
  <xs:annotation>
    <xs:documentation>The map is defined below</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:CohMap / number_electrodes
Namespace No namespace
Diagram
Diagram
Type restriction of xs:positiveInteger
Properties
content simple
Facets
maxInclusive 22
Source
<xs:element name="number_electrodes">
  <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
      <xs:maxInclusive value="22"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:CohMap / mode
Namespace No namespace
Annotations
Stimulation mode; bipolar modes use a lower, reverse
bipolar modes a higher reference electrode.
Diagram
Diagram devices.tmp#CohModeEnum
Type apex:CohModeEnum
Properties
content simple
Facets
enumeration MP1+2
enumeration MP1
enumeration MP2
enumeration BP
enumeration BP+1
enumeration BP+2
enumeration BP+3
enumeration BP+4
enumeration BP+5
enumeration BP+6
enumeration BP+7
enumeration BP+8
enumeration BP+9
enumeration BP+10
enumeration RBP
enumeration RBP+1
enumeration RBP+2
enumeration RBP+3
enumeration RBP+4
enumeration RBP+5
enumeration RBP+6
enumeration RBP+7
enumeration RBP+8
enumeration RBP+9
enumeration RBP+10
Source
<xs:element name="mode" type="apex:CohModeEnum">
  <xs:annotation>
    <xs:documentation>Stimulation mode; bipolar modes use a lower, reverse bipolar modes a higher reference electrode.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:CohMap / pulsewidth
Namespace No namespace
Annotations
When using a Freedom processor, the maximum phasewidth is 429.8us
When using an L34 processor, the maximum phasewidth is 434.4us
Diagram
Diagram
Type restriction of xs:double
Properties
content simple
Facets
maxInclusive 434.4
minInclusive 25
Source
<xs:element name="pulsewidth">
  <xs:annotation>
    <xs:documentation>When using a Freedom processor, the maximum phasewidth is 429.8us When using an L34 processor, the maximum phasewidth is 434.4us</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:double">
      <xs:minInclusive value="25"/>
      <xs:maxInclusive value="434.4"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:CohMap / pulsegap
Namespace No namespace
Annotations
When using a Freedom processor, the maximum phase gap is 57us
When using an L34 processor, the maximum phase gap is 58us
When using a cic3 implant, the minimum phase gap is 8us
When using a cic4 implant, the minimum phase gap is 7us
Diagram
Diagram
Type restriction of xs:double
Properties
content simple
Facets
maxInclusive 58
minInclusive 7
Source
<xs:element name="pulsegap">
  <xs:annotation>
    <xs:documentation>When using a Freedom processor, the maximum phase gap is 57us When using an L34 processor, the maximum phase gap is 58us When using a cic3 implant, the minimum phase gap is 8us When using a cic4 implant, the minimum phase gap is 7us</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:double">
      <xs:minInclusive value="7"/>
      <xs:maxInclusive value="58"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:CohMap / period
Namespace No namespace
Annotations
When using a Freedom processor, the maximum period is 13078us
When using an L34 processor, the maximum period is 13107us
When using a cic3 implant, the minimum period is 70us
When using a cic4 implant, the minimum period is 64.6us
Diagram
Diagram
Type restriction of xs:double
Properties
content simple
Facets
maxInclusive 13107
minInclusive 64.6
Source
<xs:element name="period">
  <xs:annotation>
    <xs:documentation>When using a Freedom processor, the maximum period is 13078us When using an L34 processor, the maximum period is 13107us When using a cic3 implant, the minimum period is 70us When using a cic4 implant, the minimum period is 64.6us</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:double">
      <xs:minInclusive value="64.6"/>
      <xs:maxInclusive value="13107"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:CohMap / trigger
Namespace No namespace
Annotations
"all" will result in all pulses having triggers.
 "none" will result in no pulses having triggers.
"first" will result in the first pulses that needs mapping to have a trigger,
 the ones afterward will have no trigger.
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
minOccurs 0
default none
Facets
enumeration all
enumeration none
enumeration first
Source
<xs:element name="trigger" minOccurs="0" default="none">
  <xs:annotation>
    <xs:documentation>"all" will result in all pulses having triggers. "none" will result in no pulses having triggers. "first" will result in the first pulses that needs mapping to have a trigger, the ones afterward will have no trigger.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="all"/>
      <xs:enumeration value="none"/>
      <xs:enumeration value="first"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:CohMap / channel
Namespace No namespace
Diagram
Diagram devices.tmp#CohMap_CohMap_channel_number devices.tmp#CohMap_CohMap_channel_electrode devices.tmp#CohMap_CohMap_channel_threshold devices.tmp#CohMap_CohMap_channel_comfort
Properties
content complex
minOccurs 1
maxOccurs 22
Attributes
QName Type Use
comfort restriction of xs:nonNegativeInteger required
electrode restriction of xs:positiveInteger required
number restriction of xs:positiveInteger required
threshold restriction of xs:nonNegativeInteger required
Source
<xs:element name="channel" minOccurs="1" maxOccurs="22">
  <xs:complexType>
    <xs:attribute name="number" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:positiveInteger">
          <xs:maxInclusive value="22"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="electrode" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:positiveInteger">
          <xs:maxInclusive value="22"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="threshold" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:nonNegativeInteger">
          <xs:maxInclusive value="255"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="comfort" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:nonNegativeInteger">
          <xs:maxInclusive value="255"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:CohDeviceType / defaultmap / from_r126
Namespace No namespace
Annotations
The user can select the map from the R126
    wizard. R126 is the clinical fitting
software.
Diagram
Diagram
Source
<xs:element name="from_r126">
  <xs:annotation>
    <xs:documentation>The user can select the map from the R126 wizard. R126 is the clinical fitting software.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:filtersType / filter
Namespace No namespace
Annotations
Every filter/generator derives from this base
type. All filters to be used are defined
here.
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType
Type apex:filterType
Properties
content complex
minOccurs 0
maxOccurs unbounded
Model
Children channels, continuous, device
Instance
<filter id="">
  <device>{1,1}</device>
  <channels>{1,1}</channels>
  <continuous>{0,1}</continuous>
</filter>
Attributes
QName Type Use
id xs:ID required
Source
<xs:element name="filter" minOccurs="0" maxOccurs="unbounded" type="apex:filterType">
  <xs:annotation>
    <xs:documentation>Every filter/generator derives from this base type. All filters to be used are defined here.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:filterType / device
Namespace No namespace
Annotations
ID of the device to which this filter belongs. The mode of the
filter (online or offline) is determined by the device.
Diagram
Diagram
Type xs:IDREF
Properties
content simple
Source
<xs:element name="device" type="xs:IDREF">
  <xs:annotation>
    <xs:documentation>ID of the device to which this filter belongs. The mode of the filter (online or offline) is determined by the device.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:filterType / channels
Namespace No namespace
Annotations
Number of channels
Diagram
Diagram
Type xs:positiveInteger
Properties
content simple
Source
<xs:element name="channels" type="xs:positiveInteger">
  <xs:annotation>
    <xs:documentation>Number of channels</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:filterType / continuous
Namespace No namespace
Annotations
If continuous==true, the filter/generator keeps on running
between trials (ie while the user is entering input). Only makes sense for
generators.
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
Source
<xs:element name="continuous" type="xs:boolean" minOccurs="0">
  <xs:annotation>
    <xs:documentation>If continuous==true, the filter/generator keeps on running between trials (ie while the user is entering input). Only makes sense for generators.</xs:documentation>
    <!-- FIXME: move to generator -->
  </xs:annotation>
</xs:element>
[ top ]
Element apex:generator / type
Namespace No namespace
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
Facets
enumeration noise
White noise (this is NOT gaussian
noise)
enumeration sinus
Sinus with peak amplitude = total
gain
enumeration singlepulse
Single pulse with peak amplitude = total
gain. The polarity is set using the "polarity"
parameter.
Source
<xs:element name="type">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="noise">
        <xs:annotation>
          <xs:documentation>White noise (this is NOT gaussian noise)</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <!--xs:enumeration value="square">
                                    <xs:annotation>
                                    <xs:documentation>Square wave with peak amplitude = total
                                    gain</xs:documentation>
                                    </xs:annotation>
                                    </xs:enumeration-->
      <xs:enumeration value="sinus">
        <xs:annotation>
          <xs:documentation>Sinus with peak amplitude = total gain</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <!--xs:enumeration value="triangle">
                                    <xs:annotation>
                                    <xs:documentation>Triangle with peak amplitude = total
                                    gain</xs:documentation>
                                    </xs:annotation>
                                    </xs:enumeration-->
      <xs:enumeration value="singlepulse">
        <xs:annotation>
          <xs:documentation>Single pulse with peak amplitude = total gain. The polarity is set using the "polarity" parameter.</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:generator / basegain
Namespace No namespace
Annotations
The total gain is basegain+gain. Basegain is useful
for amplitude normalization between different
blocks
Diagram
Diagram
Type xs:double
Properties
content simple
minOccurs 0
default 0
Source
<xs:element name="basegain" type="xs:double" default="0" minOccurs="0">
  <xs:annotation>
    <xs:documentation>The total gain is basegain+gain. Basegain is useful for amplitude normalization between different blocks</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:generator / invertgain
Namespace No namespace
Annotations
Inverts the gain of the block (but not the basegain).
Invertgain is useful for the attenuation of noise depending on an 
SNR
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
Source
<xs:element name="invertgain" type="xs:boolean" default="false" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Inverts the gain of the block (but not the basegain). Invertgain is useful for the attenuation of noise depending on an SNR</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:generator / gain
Namespace No namespace
Annotations
The total gain is basegain+gain. Gain is a parameter
that can be changed by other modules
Diagram
Diagram devices.tmp#filterParam devices.tmp#gainparam
Type apex:gainparam
Properties
content complex
default 0
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="gain" default="0" type="apex:gainparam">
  <xs:annotation>
    <xs:documentation>The total gain is basegain+gain. Gain is a parameter that can be changed by other modules</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:generator / frequency
Namespace No namespace
Annotations
Frequency: only makes sense for sinus, square and
triangle
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:nonNegativeInteger
Properties
content complex
default 1000
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="frequency" default="1000">
  <xs:annotation>
    <xs:documentation>Frequency: only makes sense for sinus, square and triangle</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:nonNegativeInteger">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:generator / phase
Namespace No namespace
Annotations
Phase (rad): only makes sense for sinus, square and
triangle
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:double
Properties
content complex
default 0
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="phase" default="0">
  <xs:annotation>
    <xs:documentation>Phase (rad): only makes sense for sinus, square and triangle</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:double">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:generator / pulsewidth
Namespace No namespace
Annotations
Pulse width in samples. Currently only used for single pulse generator
Diagram
Diagram
Type xs:positiveInteger
Properties
content simple
minOccurs 0
default 1
Source
<xs:element name="pulsewidth" default="1" type="xs:positiveInteger" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Pulse width in samples. Currently only used for single pulse generator</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:generator / polarity
Namespace No namespace
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
minOccurs 0
default positive
Facets
enumeration positive
enumeration negative
Source
<xs:element name="polarity" minOccurs="0" default="positive">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="positive"/>
      <xs:enumeration value="negative"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:amplifier / basegain
Namespace No namespace
Annotations
The total gain is basegain+gain. Basegain is useful
for amplitude normalization between different
blocks
Diagram
Diagram devices.tmp#filterParam devices.tmp#gainparam
Type apex:gainparam
Properties
content complex
minOccurs 0
default 0
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="basegain" type="apex:gainparam" default="0" minOccurs="0">
  <xs:annotation>
    <xs:documentation>The total gain is basegain+gain. Basegain is useful for amplitude normalization between different blocks</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:amplifier / invertgain
Namespace No namespace
Annotations
Inverts the gain of the block (but not the basegain).
Invertgain is useful for the attenuation of noise depending on an 
SNR
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
Source
<xs:element name="invertgain" type="xs:boolean" default="false" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Inverts the gain of the block (but not the basegain). Invertgain is useful for the attenuation of noise depending on an SNR</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:amplifier / gain
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam devices.tmp#gainparam devices.tmp#channelGainType_channel devices.tmp#channelGainType
Type apex:channelGainType
Type hierarchy
Properties
content complex
minOccurs 1
maxOccurs unbounded
Attributes
QName Type Use Annotation
channel xs:nonNegativeInteger optional
Used to specify a single channel to apply gain to,
instead of applying it to all channels at once.
For example, for an amplifier having two channels, these are set independently by using <gain id="ch0" channel="0">-3.00</gain>
<gain id="ch1" channel="1">-6.00</gain> Channels are zero based, ie the first channel is 0, the
second 1 and so on.
id xs:ID optional
Source
<xs:element name="gain" minOccurs="1" maxOccurs="unbounded" type="apex:channelGainType">
</xs:element>
[ top ]
Element apex:fader / length
Namespace No namespace
Annotations
Fade length in mSec.
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:double
Properties
content complex
default 0
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="length" default="0">
  <xs:annotation>
    <xs:documentation>Fade length in mSec.</xs:documentation>
  </xs:annotation>
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:double">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:fader / type
Namespace No namespace
Annotations
Fader type: linear or cosine shaped.
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
default cosine
Facets
enumeration linear
enumeration cosine
Source
<xs:element name="type" default="cosine">
  <xs:annotation>
    <xs:documentation>Fader type: linear or cosine shaped.</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="linear"/>
      <xs:enumeration value="cosine"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:fader / direction
Namespace No namespace
Annotations
Fader direction: fadein (beginning of stimulus) or
fadeout(end of stimulus)
Diagram
Diagram
Type restriction of xs:string
Properties
content simple
default in
Facets
enumeration in
enumeration out
Source
<xs:element name="direction" default="in">
  <xs:annotation>
    <xs:documentation>Fader direction: fadein (beginning of stimulus) or fadeout(end of stimulus)</xs:documentation>
  </xs:annotation>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="in"/>
      <xs:enumeration value="out"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>
[ top ]
Element apex:dataloop / datablock
Namespace No namespace
Diagram
Diagram
Type xs:IDREF
Properties
content simple
Source
<xs:element name="datablock" type="xs:IDREF"/>
[ top ]
Element apex:dataloop / basegain
Namespace No namespace
Annotations
The total gain is basegain+gain. Basegain is useful
for amplitude normalization between different
blocks
Diagram
Diagram
Type xs:double
Properties
content simple
minOccurs 0
default 0
Source
<xs:element name="basegain" type="xs:double" default="0" minOccurs="0">
  <xs:annotation>
    <xs:documentation>The total gain is basegain+gain. Basegain is useful for amplitude normalization between different blocks</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:dataloop / invertgain
Namespace No namespace
Annotations
Inverts the gain of the block (but not the basegain).
Invertgain is useful for the attenuation of noise depending on an 
SNR
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
Source
<xs:element name="invertgain" type="xs:boolean" default="false" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Inverts the gain of the block (but not the basegain). Invertgain is useful for the attenuation of noise depending on an SNR</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:dataloop / gain
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam devices.tmp#gainparam
Type apex:gainparam
Properties
content complex
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="gain" type="apex:gainparam"/>
[ top ]
Element apex:dataloop / randomjump
Namespace No namespace
Annotations
Jump to a random place in the datablock upon
start. Only functional if randomjump=false
Diagram
Diagram
Type xs:boolean
Properties
content simple
minOccurs 0
default false
Source
<xs:element name="randomjump" type="xs:boolean" default="false" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Jump to a random place in the datablock upon start. Only functional if randomjump=false</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:dataloop / jump
Namespace No namespace
Annotations
Jump to a fixed place in the datablock when the 
generator is started. The place is specified in seconds. Take care that 
you do not jump further than the length of the wave file.
Diagram
Diagram
Type xs:double
Properties
content simple
minOccurs 0
default 0
Source
<xs:element name="jump" type="xs:double" default="0" minOccurs="0">
  <xs:annotation>
    <xs:documentation>Jump to a fixed place in the datablock when the generator is started. The place is specified in seconds. Take care that you do not jump further than the length of the wave file.</xs:documentation>
  </xs:annotation>
</xs:element>
[ top ]
Element apex:hrtffiltersum / anglespeech
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:integer
Properties
content complex
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="anglespeech">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:hrtffiltersum / anglenoise
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:integer
Properties
content complex
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="anglenoise">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:hrtffiltersum / snr
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:integer
Properties
content complex
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="snr">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:hrtffiltersum / speechfile
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:integer
Properties
content complex
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="speechfile">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:hrtffiltersum / noisefile
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:integer
Properties
content complex
Attributes
QName Type Use
id xs:ID optional
Source
<xs:element name="noisefile">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:integer">
        <xs:attributeGroup ref="apex:filterParam"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Element apex:pluginfilter / plugin
Namespace No namespace
Diagram
Diagram
Type xs:anyURI
Properties
content simple
Source
<xs:element name="plugin" type="xs:anyURI"/>
[ top ]
Element apex:pluginfilter / parameter
Namespace No namespace
Diagram
Diagram devices.tmp#filterParam devices.tmp#pluginfilter_pluginfilter_parameter_name devices.tmp#pluginfilter_pluginfilter_parameter_channel
Type extension of xs:string
Properties
content complex
minOccurs 0
maxOccurs unbounded
default
Attributes
QName Type Use
channel xs:nonNegativeInteger optional
id xs:ID optional
name xs:Name required
Source
<xs:element name="parameter" default="" minOccurs="0" maxOccurs="unbounded">
  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attributeGroup ref="apex:filterParam"/>
        <xs:attribute name="name" type="xs:Name" use="required"/>
        <xs:attribute name="channel" type="xs:nonNegativeInteger" use="optional"/>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:element>
[ top ]
Complex Type apex:devicesType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#devicesType_master devices.tmp#devicesType_device
Model
Children device, master
Source
<xs:complexType name="devicesType">
  <xs:sequence>
    <xs:element name="master" type="xs:IDREF" minOccurs="0" maxOccurs="1">
      <xs:annotation>
        <xs:documentation>The master device is that last one to be started after all stimuli are loaded for all devices. This feature can be used when using triggers to synchronize devices.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="device" type="apex:deviceType" minOccurs="0" maxOccurs="unbounded">
      <xs:annotation>
        <xs:documentation>All real devices derive from this base.</xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
[ top ]
Complex Type apex:deviceType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Base type for all devices
Diagram
Diagram devices.tmp#deviceType_id
Used by
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="deviceType">
  <xs:annotation>
    <xs:documentation>Base type for all devices</xs:documentation>
  </xs:annotation>
  <xs:attribute name="id" type="xs:ID" use="required"/>
  <!--xs:attribute name="mode" type="apex:deviceModesEnum" use="optional">
            <xs:annotation>
                <xs:documentation>Processing mode of this device. Impacts all associated
                filters.</xs:documentation>
            </xs:annotation>
        </xs:attribute-->
</xs:complexType>
[ top ]
Complex Type apex:wavDeviceType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#deviceType_id devices.tmp#deviceType devices.tmp#wavDeviceType_driver devices.tmp#wavDeviceType_card devices.tmp#wavDeviceType_channels devices.tmp#wavDeviceType_gain devices.tmp#wavDeviceType_samplerate devices.tmp#wavDeviceType_buffersize devices.tmp#wavDeviceType_blocksize devices.tmp#wavDeviceType_buffersize_apex devices.tmp#wavDeviceType_padzero devices.tmp#wavDeviceType_cisim
Type extension of apex:deviceType
Type hierarchy
Model
Children blocksize, buffersize, buffersize_apex, card, channels, cisim, driver, gain, padzero, samplerate
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="wavDeviceType">
  <xs:complexContent>
    <xs:extension base="apex:deviceType">
      <xs:sequence>
        <xs:element name="driver" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Driver architecture to be used for sound output</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="dummy">
                <xs:annotation>
                  <xs:documentation>Dummy soundcard</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="portaudio">
                <xs:annotation>
                  <xs:documentation>Portaudio is a cross-platform audio framework</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="qtaudio">
                <xs:annotation>
                  <xs:documentation>Qt Multimedia framework</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="asio">
                <xs:annotation>
                  <xs:documentation>ASIO is a proprietary windows/mac-only audio framework by Steinberg. Use it if low latency/more then 2 channels is required.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="coreaudio">
                <xs:annotation>
                  <xs:documentation>CoreAudio is MacOsX' audio framework.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <xs:enumeration value="jack">
                <xs:annotation>
                  <xs:documentation>Jack is a cross-platform audio framework. A jack connection will be made to the "drivername" specified in the main config file.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="card" type="xs:string" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Name of the soundcard to be used. Cards are defined in the main config file. Every soundcard in the system can be enumerated in the main configfile. Use the ID defined there. Otherwise the "default" card can be used.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="channels" type="xs:positiveInteger">
          <xs:annotation>
            <xs:documentation>Number of output channels to be used. This is restricted by the selected driver, with a maximum of 2 for portaudio.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="gain" type="apex:channelGainType" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Final gain of the device, implemented with a software mixer.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="samplerate">
          <xs:annotation>
            <xs:documentation>Sample rate of the device. Warning: not all sample rates are supported by all devices and some drivers automatically convert to other sample rates. Check your sound card documentation.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="16000"/>
              <xs:enumeration value="44100"/>
              <xs:enumeration value="96000"/>
              <xs:enumeration value="32000"/>
              <xs:enumeration value="48000"/>
              <xs:enumeration value="8000"/>
              <xs:enumeration value="22050"/>
              <xs:enumeration value="72000"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="buffersize" minOccurs="0" type="xs:positiveInteger">
          <xs:annotation>
            <xs:documentation>Applies to the soundcard buffer size, not the internal apex buffer size. Larger sizes are more efficient, smaller sizes have smaller latencies. Some notes: for asio, latency is always ( 2 * buffersize + overhead ) / samplerate. The overhead is very small, eg 16 samples for an Rme Multiface. Portaudio however always uses a number of internal buffers, mostly 4. Hence, actual latency is ( 2 * 4 * buffersize + overhead ) / samplerate. For asio/jack: must be set to the system buffer size.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="blocksize" minOccurs="0" type="xs:positiveInteger">
          <xs:annotation>
            <xs:documentation>Applies to the block size that is used in the internal apex audio streams (for filters etc.). Larger sizes are more efficient, smaller sizes have smaller latencies. If not defined, the soundcard buffersize will be used.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="buffersize_apex" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Size of internal apex sound buffer in seconds. This buffer ensures that no buffer underruns occur. The default value is 1s. If continuous filters are used, the system will need this amount of seconds before the next stimulus can be output. Note that the value in seconds is rounded down to the nearest multiple of 8192 samples (the buffersize used to fill the buffer): so using 1 second here, with a samplerate of 44100, the actual amount of time will be 40960 samples / 44100 samples/sec = 0.9 seconds. If a buffersize smaller than 16384 samples is specified, a buffer of 16384 samples will be used.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:decimal">
              <xs:minExclusive value="0"/>
              <xs:maxInclusive value="60"/>
            </xs:restriction>
          </xs:simpleType>
          <!--xs:simpleType>
                        <xs:restriction base="xs:string">
                          <xs:enumeration value="0.5"/>
                          <xs:enumeration value="1"/>
                          <xs:enumeration value="1.5"/>
                          <xs:enumeration value="2"/>
                          <xs:enumeration value="3"/>
                          <xs:enumeration value="4"/>
                          <xs:enumeration value="5"/>
                          <xs:enumeration value="10"/>
                        </xs:restriction>
                      </xs:simpleType-->
        </xs:element>
        <xs:element name="padzero" type="xs:nonNegativeInteger" minOccurs="0">
          <xs:annotation>
            <xs:documentation>If smaller than 16: add padzero*8196 samples to the end of each stream. If larger than 16: add padzero samples to the end of each stream. This avoids dropping of the last N frames on some soundcards (notoriously LynxOne and FirefaceUC)</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="cisim" type="apex:cisimType" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Parameters for automatic CI simulation</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:channelGainType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filterParam devices.tmp#gainparam devices.tmp#channelGainType_channel
Type extension of apex:gainparam
Type hierarchy
Used by
Attributes
QName Type Use Annotation
channel xs:nonNegativeInteger optional
Used to specify a single channel to apply gain to,
instead of applying it to all channels at once.
For example, for an amplifier having two channels, these are set independently by using <gain id="ch0" channel="0">-3.00</gain>
<gain id="ch1" channel="1">-6.00</gain> Channels are zero based, ie the first channel is 0, the
second 1 and so on.
id xs:ID optional
Source
<xs:complexType name="channelGainType">
  <xs:simpleContent>
    <xs:extension base="apex:gainparam">
      <xs:attribute name="channel" type="xs:nonNegativeInteger">
        <xs:annotation>
          <xs:documentation>Used to specify a single channel to apply gain to, instead of applying it to all channels at once. For example, for an amplifier having two channels, these are set independently by using
            <gain id="ch0" channel="0">-3.00</gain>
            <gain id="ch1" channel="1">-6.00</gain>Channels are zero based, ie the first channel is 0, the second 1 and so on.</xs:documentation>
        </xs:annotation>
      </xs:attribute>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>
[ top ]
Complex Type apex:gainparam
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filterParam
Type extension of xs:double
Used by
Attributes
QName Type Use
id xs:ID optional
Source
<xs:complexType name="gainparam">
  <xs:simpleContent>
    <xs:extension base="xs:double">
      <xs:attributeGroup ref="apex:filterParam"/>
    </xs:extension>
  </xs:simpleContent>
</xs:complexType>
[ top ]
Complex Type apex:cisimType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#cisimType_number_electrodes devices.tmp#cisimType_pulserate devices.tmp#cisimType_noiseband
Used by
Model
Children noiseband, number_electrodes, pulserate
Source
<xs:complexType name="cisimType">
  <xs:sequence>
    <xs:element name="number_electrodes" type="xs:positiveInteger"/>
    <xs:element name="pulserate" type="xs:integer"/>
    <xs:element name="noiseband" minOccurs="1" maxOccurs="unbounded">
      <xs:complexType>
        <xs:simpleContent>
          <xs:extension base="xs:IDREF">
            <xs:attribute name="electrode" type="xs:positiveInteger"/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
</xs:complexType>
[ top ]
Complex Type apex:dummyDeviceType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Dummy device that does nothing. Useful to temporarily suppress output
of a certain device. Allows anything as parameters.
Diagram
Diagram devices.tmp#deviceType_id devices.tmp#deviceType
Type extension of apex:deviceType
Type hierarchy
Model
ANY element from ANY namespace
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="dummyDeviceType">
  <xs:annotation>
    <xs:documentation>Dummy device that does nothing. Useful to temporarily suppress output of a certain device. Allows anything as parameters.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="apex:deviceType">
      <xs:sequence>
        <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:pluginController
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Plugin control device TODO
Diagram
Diagram devices.tmp#deviceType_id devices.tmp#deviceType devices.tmp#pluginController_plugin devices.tmp#pluginController_parameter
Type extension of apex:deviceType
Type hierarchy
Model
Children parameter, plugin
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="pluginController">
  <xs:annotation>
    <xs:documentation>Plugin control device TODO</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="apex:deviceType">
      <xs:sequence>
        <xs:element name="plugin" type="xs:anyURI"/>
        <xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attributeGroup ref="apex:filterParam"/>
                <xs:attribute name="name" type="xs:Name" use="required"/>
                <xs:attribute name="channel" type="xs:nonNegativeInteger" use="optional"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:CohDeviceType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Cochlear stimulation device
device
Diagram
Diagram devices.tmp#deviceType_id devices.tmp#deviceType devices.tmp#CohDeviceType_device devices.tmp#CohDeviceType_trigger devices.tmp#CohDeviceType_powerup_count devices.tmp#CohDeviceType_volume devices.tmp#CohDeviceType_defaultmap
Type extension of apex:deviceType
Type hierarchy
Model
Children defaultmap, device, powerup_count, trigger, volume
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="CohDeviceType">
  <xs:annotation>
    <xs:documentation>Cochlear stimulation device device</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="apex:deviceType">
      <xs:sequence>
        <xs:element name="device" type="xs:string">
          <xs:annotation>
            <xs:documentation>Device identifier. For NIC 2, this identifier consists of three parts: the device type (e.g. l34) , the implant type (e.g. cic3, cic4) and the device number (e.g. 1, ordered according to the assigned COM port, device 0 is a simulated device).</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="trigger">
          <xs:annotation>
            <xs:documentation>Generate or use a trigger from the audio port. Currently the trigger button status is not checked (nicv2 doesn't allow this yet)</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="in"/>
              <xs:enumeration value="out"/>
              <xs:enumeration value="none"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <!--xs:element name="volume" minOccurs="0">
                        <xs:simpleType>
                            <xs:restriction base="xs:double">
                                <xs:minInclusive value="0"/>
                                <xs:maxInclusive value="100"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:element -->
        <xs:element name="powerup_count" minOccurs="0" default="4000" type="xs:nonNegativeInteger">
          <xs:annotation>
            <xs:documentation>Number of powerup pulses to send. No powerup pulses will be sent if this is set to 0.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="volume" minOccurs="0">
          <xs:complexType>
            <xs:annotation>
              <xs:documentation>Volume parameter for Cochlear device. The current level (in clinical units) is calculated according the following formula: round(t + (c-t) * volume/100 * mag) Where: t=treshold level c=comfort level volume=current value of volume parameter mag=magnitude [0,1]</xs:documentation>
            </xs:annotation>
            <xs:simpleContent>
              <xs:extension base="apex:volumeParam">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="defaultmap">
          <xs:annotation>
            <xs:documentation>Defines the default subject map to be used</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice>
              <xs:element name="inline" type="apex:CohMap">
                <xs:annotation>
                  <xs:documentation>The map is defined below</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="from_r126">
                <xs:annotation>
                  <xs:documentation>The user can select the map from the R126 wizard. R126 is the clinical fitting software.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Simple Type apex:volumeParam
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram
Type restriction of xs:double
Facets
maxInclusive 100
minInclusive 0
Used by
Source
<xs:simpleType name="volumeParam">
  <xs:restriction base="xs:double">
    <xs:minInclusive value="0"/>
    <xs:maxInclusive value="100"/>
  </xs:restriction>
</xs:simpleType>
[ top ]
Complex Type apex:CohMap
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#CohMap_id devices.tmp#CohMap_number_electrodes devices.tmp#CohMap_mode devices.tmp#CohMap_pulsewidth devices.tmp#CohMap_pulsegap devices.tmp#CohMap_period devices.tmp#CohMap_trigger devices.tmp#CohMap_channel
Used by
Model
Children channel, mode, number_electrodes, period, pulsegap, pulsewidth, trigger
Attributes
QName Type Use
id xs:ID optional
Source
<xs:complexType name="CohMap">
  <xs:sequence>
    <xs:element name="number_electrodes">
      <xs:simpleType>
        <xs:restriction base="xs:positiveInteger">
          <xs:maxInclusive value="22"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="mode" type="apex:CohModeEnum">
      <xs:annotation>
        <xs:documentation>Stimulation mode; bipolar modes use a lower, reverse bipolar modes a higher reference electrode.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="pulsewidth">
      <xs:annotation>
        <xs:documentation>When using a Freedom processor, the maximum phasewidth is 429.8us When using an L34 processor, the maximum phasewidth is 434.4us</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:double">
          <xs:minInclusive value="25"/>
          <xs:maxInclusive value="434.4"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="pulsegap">
      <xs:annotation>
        <xs:documentation>When using a Freedom processor, the maximum phase gap is 57us When using an L34 processor, the maximum phase gap is 58us When using a cic3 implant, the minimum phase gap is 8us When using a cic4 implant, the minimum phase gap is 7us</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:double">
          <xs:minInclusive value="7"/>
          <xs:maxInclusive value="58"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="period">
      <xs:annotation>
        <xs:documentation>When using a Freedom processor, the maximum period is 13078us When using an L34 processor, the maximum period is 13107us When using a cic3 implant, the minimum period is 70us When using a cic4 implant, the minimum period is 64.6us</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:double">
          <xs:minInclusive value="64.6"/>
          <xs:maxInclusive value="13107"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="trigger" minOccurs="0" default="none">
      <xs:annotation>
        <xs:documentation>"all" will result in all pulses having triggers. "none" will result in no pulses having triggers. "first" will result in the first pulses that needs mapping to have a trigger, the ones afterward will have no trigger.</xs:documentation>
      </xs:annotation>
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="all"/>
          <xs:enumeration value="none"/>
          <xs:enumeration value="first"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:element>
    <xs:element name="channel" minOccurs="1" maxOccurs="22">
      <xs:complexType>
        <xs:attribute name="number" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:positiveInteger">
              <xs:maxInclusive value="22"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="electrode" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:positiveInteger">
              <xs:maxInclusive value="22"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="threshold" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:nonNegativeInteger">
              <xs:maxInclusive value="255"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="comfort" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:nonNegativeInteger">
              <xs:maxInclusive value="255"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:complexType>
    </xs:element>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
[ top ]
Simple Type apex:CohModeEnum
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram
Type restriction of xs:string
Facets
enumeration MP1+2
enumeration MP1
enumeration MP2
enumeration BP
enumeration BP+1
enumeration BP+2
enumeration BP+3
enumeration BP+4
enumeration BP+5
enumeration BP+6
enumeration BP+7
enumeration BP+8
enumeration BP+9
enumeration BP+10
enumeration RBP
enumeration RBP+1
enumeration RBP+2
enumeration RBP+3
enumeration RBP+4
enumeration RBP+5
enumeration RBP+6
enumeration RBP+7
enumeration RBP+8
enumeration RBP+9
enumeration RBP+10
Used by
Source
<xs:simpleType name="CohModeEnum">
  <xs:restriction base="xs:string">
    <xs:enumeration value="MP1+2"/>
    <xs:enumeration value="MP1"/>
    <xs:enumeration value="MP2"/>
    <xs:enumeration value="BP"/>
    <xs:enumeration value="BP+1"/>
    <xs:enumeration value="BP+2"/>
    <xs:enumeration value="BP+3"/>
    <xs:enumeration value="BP+4"/>
    <xs:enumeration value="BP+5"/>
    <xs:enumeration value="BP+6"/>
    <xs:enumeration value="BP+7"/>
    <xs:enumeration value="BP+8"/>
    <xs:enumeration value="BP+9"/>
    <xs:enumeration value="BP+10"/>
    <xs:enumeration value="RBP"/>
    <xs:enumeration value="RBP+1"/>
    <xs:enumeration value="RBP+2"/>
    <xs:enumeration value="RBP+3"/>
    <xs:enumeration value="RBP+4"/>
    <xs:enumeration value="RBP+5"/>
    <xs:enumeration value="RBP+6"/>
    <xs:enumeration value="RBP+7"/>
    <xs:enumeration value="RBP+8"/>
    <xs:enumeration value="RBP+9"/>
    <xs:enumeration value="RBP+10"/>
  </xs:restriction>
</xs:simpleType>
[ top ]
Simple Type apex:deviceModesEnum
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram
Type restriction of xs:string
Facets
enumeration online
All processing (mixing, filtering, ...) is done in real time
while sending output
Source
<xs:simpleType name="deviceModesEnum">
  <xs:restriction base="xs:string">
    <xs:enumeration value="online">
      <xs:annotation>
        <xs:documentation>All processing (mixing, filtering, ...) is done in real time while sending output</xs:documentation>
      </xs:annotation>
    </xs:enumeration>
    <!--xs:enumeration value="offline">
                <xs:annotation>
                    <xs:documentation>All processing is done beforehand and the resulting output
                        data is stored in memory. Not all devices support this
                    mode.</xs:documentation>
                </xs:annotation>
            </xs:enumeration-->
  </xs:restriction>
</xs:simpleType>
[ top ]
Complex Type apex:filtersType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filtersType_filter
Model
Children filter
Source
<xs:complexType name="filtersType">
  <xs:sequence>
    <xs:element name="filter" minOccurs="0" maxOccurs="unbounded" type="apex:filterType">
      <xs:annotation>
        <xs:documentation>Every filter/generator derives from this base type. All filters to be used are defined here.</xs:documentation>
      </xs:annotation>
    </xs:element>
  </xs:sequence>
</xs:complexType>
[ top ]
Complex Type apex:filterType
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Base type for all filters
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous
Used by
Model
Children channels, continuous, device
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="filterType">
  <xs:annotation>
    <xs:documentation>Base type for all filters</xs:documentation>
  </xs:annotation>
  <xs:sequence>
    <xs:element name="device" type="xs:IDREF">
      <xs:annotation>
        <xs:documentation>ID of the device to which this filter belongs. The mode of the filter (online or offline) is determined by the device.</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="channels" type="xs:positiveInteger">
      <xs:annotation>
        <xs:documentation>Number of channels</xs:documentation>
      </xs:annotation>
    </xs:element>
    <xs:element name="continuous" type="xs:boolean" minOccurs="0">
      <xs:annotation>
        <xs:documentation>If continuous==true, the filter/generator keeps on running between trials (ie while the user is entering input). Only makes sense for generators.</xs:documentation>
        <!-- FIXME: move to generator -->
      </xs:annotation>
    </xs:element>
  </xs:sequence>
  <xs:attribute name="id" type="xs:ID" use="required"/>
</xs:complexType>
[ top ]
Complex Type apex:generator
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
A generator is a filter without any input.
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType devices.tmp#generator_type devices.tmp#generator_basegain devices.tmp#generator_invertgain devices.tmp#generator_gain devices.tmp#generator_frequency devices.tmp#generator_phase devices.tmp#generator_pulsewidth devices.tmp#generator_polarity
Type extension of apex:filterType
Type hierarchy
Model
Children basegain, channels, continuous, device, frequency, gain, invertgain, phase, polarity, pulsewidth, type
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="generator">
  <xs:annotation>
    <xs:documentation>A generator is a filter without any input.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="apex:filterType">
      <xs:sequence>
        <xs:element name="type">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="noise">
                <xs:annotation>
                  <xs:documentation>White noise (this is NOT gaussian noise)</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <!--xs:enumeration value="square">
                                    <xs:annotation>
                                    <xs:documentation>Square wave with peak amplitude = total
                                    gain</xs:documentation>
                                    </xs:annotation>
                                    </xs:enumeration-->
              <xs:enumeration value="sinus">
                <xs:annotation>
                  <xs:documentation>Sinus with peak amplitude = total gain</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
              <!--xs:enumeration value="triangle">
                                    <xs:annotation>
                                    <xs:documentation>Triangle with peak amplitude = total
                                    gain</xs:documentation>
                                    </xs:annotation>
                                    </xs:enumeration-->
              <xs:enumeration value="singlepulse">
                <xs:annotation>
                  <xs:documentation>Single pulse with peak amplitude = total gain. The polarity is set using the "polarity" parameter.</xs:documentation>
                </xs:annotation>
              </xs:enumeration>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="basegain" type="xs:double" default="0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The total gain is basegain+gain. Basegain is useful for amplitude normalization between different blocks</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="invertgain" type="xs:boolean" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Inverts the gain of the block (but not the basegain). Invertgain is useful for the attenuation of noise depending on an SNR</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="gain" default="0" type="apex:gainparam">
          <xs:annotation>
            <xs:documentation>The total gain is basegain+gain. Gain is a parameter that can be changed by other modules</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="frequency" default="1000">
          <xs:annotation>
            <xs:documentation>Frequency: only makes sense for sinus, square and triangle</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:nonNegativeInteger">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="phase" default="0">
          <xs:annotation>
            <xs:documentation>Phase (rad): only makes sense for sinus, square and triangle</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:double">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="pulsewidth" default="1" type="xs:positiveInteger" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Pulse width in samples. Currently only used for single pulse generator</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="polarity" minOccurs="0" default="positive">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="positive"/>
              <xs:enumeration value="negative"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:amplifier
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType devices.tmp#amplifier_basegain devices.tmp#amplifier_invertgain devices.tmp#amplifier_gain
Type extension of apex:filterType
Type hierarchy
Model
Children basegain, channels, continuous, device, gain, invertgain
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="amplifier">
  <xs:complexContent>
    <xs:extension base="apex:filterType">
      <xs:sequence>
        <xs:element name="basegain" type="apex:gainparam" default="0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The total gain is basegain+gain. Basegain is useful for amplitude normalization between different blocks</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="invertgain" type="xs:boolean" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Inverts the gain of the block (but not the basegain). Invertgain is useful for the attenuation of noise depending on an SNR</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="gain" minOccurs="1" maxOccurs="unbounded" type="apex:channelGainType">
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:fader
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType devices.tmp#fader_length devices.tmp#fader_type devices.tmp#fader_direction
Type extension of apex:filterType
Type hierarchy
Model
Children channels, continuous, device, direction, length, type
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="fader">
  <xs:complexContent>
    <xs:extension base="apex:filterType">
      <xs:sequence>
        <xs:element name="length" default="0">
          <xs:annotation>
            <xs:documentation>Fade length in mSec.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:double">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="type" default="cosine">
          <xs:annotation>
            <xs:documentation>Fader type: linear or cosine shaped.</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="linear"/>
              <xs:enumeration value="cosine"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="direction" default="in">
          <xs:annotation>
            <xs:documentation>Fader direction: fadein (beginning of stimulus) or fadeout(end of stimulus)</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="in"/>
              <xs:enumeration value="out"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:dataloop
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Loops a datablock forever.
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType devices.tmp#dataloop_datablock devices.tmp#dataloop_basegain devices.tmp#dataloop_invertgain devices.tmp#dataloop_gain devices.tmp#dataloop_randomjump devices.tmp#dataloop_jump
Type extension of apex:filterType
Type hierarchy
Model
Children basegain, channels, continuous, datablock, device, gain, invertgain, jump, randomjump
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="dataloop">
  <xs:annotation>
    <xs:documentation>Loops a datablock forever.</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="apex:filterType">
      <xs:sequence>
        <xs:element name="datablock" type="xs:IDREF"/>
        <xs:element name="basegain" type="xs:double" default="0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The total gain is basegain+gain. Basegain is useful for amplitude normalization between different blocks</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="invertgain" type="xs:boolean" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Inverts the gain of the block (but not the basegain). Invertgain is useful for the attenuation of noise depending on an SNR</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="gain" type="apex:gainparam"/>
        <xs:element name="randomjump" type="xs:boolean" default="false" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Jump to a random place in the datablock upon start. Only functional if randomjump=false</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="jump" type="xs:double" default="0" minOccurs="0">
          <xs:annotation>
            <xs:documentation>Jump to a fixed place in the datablock when the generator is started. The place is specified in seconds. Take care that you do not jump further than the length of the wave file.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:hrtffiltersum
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType devices.tmp#hrtffiltersum_anglespeech devices.tmp#hrtffiltersum_anglenoise devices.tmp#hrtffiltersum_snr devices.tmp#hrtffiltersum_speechfile devices.tmp#hrtffiltersum_noisefile
Type extension of apex:filterType
Type hierarchy
Model
Children anglenoise, anglespeech, channels, continuous, device, noisefile, snr, speechfile
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="hrtffiltersum">
  <xs:complexContent>
    <xs:extension base="apex:filterType">
      <xs:sequence>
        <xs:element name="anglespeech">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:integer">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="anglenoise">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:integer">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="snr">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:integer">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="speechfile">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:integer">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="noisefile">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:integer">
                <xs:attributeGroup ref="apex:filterParam"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Complex Type apex:pluginfilter
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Annotations
Filter implemented by a binary plugin
Diagram
Diagram devices.tmp#filterType_id devices.tmp#filterType_device devices.tmp#filterType_channels devices.tmp#filterType_continuous devices.tmp#filterType devices.tmp#pluginfilter_plugin devices.tmp#pluginfilter_parameter
Type extension of apex:filterType
Type hierarchy
Model
Children channels, continuous, device, parameter, plugin
Attributes
QName Type Use
id xs:ID required
Source
<xs:complexType name="pluginfilter">
  <xs:annotation>
    <xs:documentation>Filter implemented by a binary plugin</xs:documentation>
  </xs:annotation>
  <xs:complexContent>
    <xs:extension base="apex:filterType">
      <xs:sequence>
        <xs:element name="plugin" type="xs:anyURI"/>
        <xs:element name="parameter" default="" minOccurs="0" maxOccurs="unbounded">
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attributeGroup ref="apex:filterParam"/>
                <xs:attribute name="name" type="xs:Name" use="required"/>
                <xs:attribute name="channel" type="xs:nonNegativeInteger" use="optional"/>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>
[ top ]
Attribute apex:deviceType / @id
Namespace No namespace
Type xs:ID
Properties
use required
Used by
Complex Type apex:deviceType
Source
<xs:attribute name="id" type="xs:ID" use="required"/>
[ top ]
Attribute apex:filterParam / @id
Namespace No namespace
Type xs:ID
Properties
content simple
Used by
Attribute Group apex:filterParam
Source
<xs:attribute name="id" type="xs:ID"/>
[ top ]
Attribute apex:channelGainType / @channel
Namespace No namespace
Annotations
Used to specify a single channel to apply gain to,
instead of applying it to all channels at once.
For example, for an amplifier having two channels, these are set independently by using <gain id="ch0" channel="0">-3.00</gain>
<gain id="ch1" channel="1">-6.00</gain> Channels are zero based, ie the first channel is 0, the
second 1 and so on.
Type xs:nonNegativeInteger
Properties
content simple
Used by
Complex Type apex:channelGainType
Source
<xs:attribute name="channel" type="xs:nonNegativeInteger">
  <xs:annotation>
    <xs:documentation>Used to specify a single channel to apply gain to, instead of applying it to all channels at once. For example, for an amplifier having two channels, these are set independently by using
      <gain id="ch0" channel="0">-3.00</gain>
      <gain id="ch1" channel="1">-6.00</gain>Channels are zero based, ie the first channel is 0, the second 1 and so on.</xs:documentation>
  </xs:annotation>
</xs:attribute>
[ top ]
Attribute apex:cisimType / noiseband / @electrode
Namespace No namespace
Type xs:positiveInteger
Properties
content simple
Used by
Source
<xs:attribute name="electrode" type="xs:positiveInteger"/>
[ top ]
Attribute apex:pluginController / parameter / @name
Namespace No namespace
Type xs:Name
Properties
use required
Used by
Source
<xs:attribute name="name" type="xs:Name" use="required"/>
[ top ]
Attribute apex:pluginController / parameter / @channel
Namespace No namespace
Type xs:nonNegativeInteger
Properties
use optional
Used by
Source
<xs:attribute name="channel" type="xs:nonNegativeInteger" use="optional"/>
[ top ]
Attribute apex:CohMap / channel / @number
Namespace No namespace
Type restriction of xs:positiveInteger
Properties
use required
Facets
maxInclusive 22
Used by
Source
<xs:attribute name="number" use="required">
  <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
      <xs:maxInclusive value="22"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
[ top ]
Attribute apex:CohMap / channel / @electrode
Namespace No namespace
Type restriction of xs:positiveInteger
Properties
use required
Facets
maxInclusive 22
Used by
Source
<xs:attribute name="electrode" use="required">
  <xs:simpleType>
    <xs:restriction base="xs:positiveInteger">
      <xs:maxInclusive value="22"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
[ top ]
Attribute apex:CohMap / channel / @threshold
Namespace No namespace
Type restriction of xs:nonNegativeInteger
Properties
use required
Facets
maxInclusive 255
Used by
Source
<xs:attribute name="threshold" use="required">
  <xs:simpleType>
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:maxInclusive value="255"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
[ top ]
Attribute apex:CohMap / channel / @comfort
Namespace No namespace
Type restriction of xs:nonNegativeInteger
Properties
use required
Facets
maxInclusive 255
Used by
Source
<xs:attribute name="comfort" use="required">
  <xs:simpleType>
    <xs:restriction base="xs:nonNegativeInteger">
      <xs:maxInclusive value="255"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
[ top ]
Attribute apex:CohMap / @id
Namespace No namespace
Type xs:ID
Properties
content simple
Used by
Complex Type apex:CohMap
Source
<xs:attribute name="id" type="xs:ID"/>
[ top ]
Attribute apex:filterType / @id
Namespace No namespace
Type xs:ID
Properties
use required
Used by
Complex Type apex:filterType
Source
<xs:attribute name="id" type="xs:ID" use="required"/>
[ top ]
Attribute apex:pluginfilter / parameter / @name
Namespace No namespace
Type xs:Name
Properties
use required
Used by
Source
<xs:attribute name="name" type="xs:Name" use="required"/>
[ top ]
Attribute apex:pluginfilter / parameter / @channel
Namespace No namespace
Type xs:nonNegativeInteger
Properties
use optional
Used by
Source
<xs:attribute name="channel" type="xs:nonNegativeInteger" use="optional"/>
[ top ]
Attribute Group apex:filterParam
Namespace http://med.kuleuven.be/exporl/apex/4.1.2/experiment
Diagram
Diagram devices.tmp#filterParam_id
Used by
Attributes
QName Type Use
id xs:ID optional
Source
<xs:attributeGroup name="filterParam">
  <xs:attribute name="id" type="xs:ID"/>
</xs:attributeGroup>
[ top ]