Next: Introduction to XML inside
Up: Some introductory notes to
Previous: The changes introduced in
Contents
We compared the annotations with a diamond located in the time
axis. When you click on it, something appears. This chapter describes
some things that could appear.
First of all, I would like to present one of the most beautiful
collections of objects ever set together. If you do not know it, you
will enjoy it as I did some months ago. They are the
Unicode Code Charts.
This page reminds the subject of a tale by Borges. Most of these symbols can be included in an EDF+ file thanks to the brilliant ideas of some persons belonging to the EDF list.
Unicode characters can be encoded by using a method that maintains back compatibility with US-ASCII encoding: it is called UTF-8. I recommend the reading of the original article by Pike and Thomson. It can be found at CiteSeer. It is a little bit technical and certainly it has not a lot to do with EDF but certainly you will enjoy it.
Since I know almost nothing about UTF-8, let me give you some practical advices for using UTF-8 in EDF+:
- If you are using ASCII characters, then you are using UTF-8. You do not have to worry about anything else. This also includes the characters used in the definition of EDF+ (0, 20, 21, 9, 10 and 13).
- If you see that your application includes some characters not translated inside an annotation of an EDF+ file, the cause could be that the glyphs of these characters are not supported by your application (viewer, text editor, specific package or programming language).
- You can include in your files a lot of different characters that cover very different needs.
- You do not have to worry about endianness in UTF-8. There is only one UTF-8. Since UTF-8 is interpreted as a sequence of bytes, there is no endian problem.
- If you use XML inside annotations, try to encode it in UTF-8 and probably there be no problems.
You can find much more information about UTF-8 by looking at your search engine faq UTF-8.
Let us detail some information that can be included in annotations
- Comments such as open eyes, the patient decides not to continue with the test or not able to be quantified.
- Appearance of some specific element such as K-complex, MUP1 (Motor Unit Potential 1), or PVC (Premature Ventricular Contraction). These features can be detected by human intervention or some other automatic algorithm.
- External stimuli such as A, B, C, being A, B and C keys to indicate flashes, auditory stimuli etc. In this approach, we mark the point at which the stimulus was given to the subject.
- Measurements such as P100 or latency.
- Analysis based in complex criteria such as Sleep stage 1.
- External parameters not necessarily used by the test but required for the analysis, such as temperature=32C, height=182mm...
- Results of the analysis in relation to some normative pattern, such as normal, increased...
- Changes in the representation of the recording, such as montages (e.g., run1) or display properties (e.g., display=50uV/div).
- Behavior of the subject in relation with some changes such as whether the subject identified the stimulus (e.g. valid=yes ) or reacion time to the stimulus (e.g. reaction time = 420 ms).
- Links to Internet sites (or e-mail addresses) where wider explanations about the procedure or the authors can be found.
- Basic data to be included in the report of the test or in administrative procedures.
- and many others.
This list is by no means complete. Even so, it includes very different kinds of annotations that can be simultaneously needed. The creation of a common vocabulary seems not possible just now, and possibly there will not be a complete agreement because it would imply that no new tests or approaches were being developed.
One important feature in annotations is that they can carry information about their duration (e.g. the duration of an apnea) with a built-in mechanism in EDF+. It is also important to notice that in some cases the annotations are not linked to any timepoint. In these cases the beginning of the data record can be used.
The only restriction in EDF+ is that the annotation has to be coded in UTF-8 (or US-ASCII as a subset of UTF-8). It is intentionally vague to allow the maximum freedom to the user. We could detail some possibilities
- Plain text. It is the approach described in the normative document. It is very simple, especially for triggers and free annotations. It allows automatic averaging and it is directly understood by humans. When you click on the diamond you have a readable text that can include different lines and tables (character 9, 10 and 13 were allowed to make this feature possible).
- HTML. Hypertext Markup Language. It is basically a system to display information. It is not appropriate to handle information but it can include links, color and many other tools to improve the document. When you click the diamond you get a browser displaying the information of the data record.
- XML. Extensible Markup Language. It is a system to organize complex information. When you click the diamond, you access a tree that can be edited with an XML editor. It can also be analyzed and exported with a lot of possibilities.
In this chapter we have detailed the inside of the annotations. We have centered in EDF+. I would like to explain the possible use of XML in Clinical Neurophysiology.
Next: Introduction to XML inside
Up: Some introductory notes to
Previous: The changes introduced in
Contents
je
2006-10-12