PRO WRITE_EEG_DATA, fileName, n, x, s, m_vpn, m_cat, m_loc, $ NOOPEN=NoOpen, $ NOCLOSE=NoClose, $ NOERRORS=NoErrors, $ ADDPARAMS=AddParams ;=============================================================================== ; (c) 1992 - khd c/o FU BERLIN. A l l r i g h t s r e s e r v e d. || ; ** No part of this software package may be reproduced, transmitted, || ; 1994 transcribed, stored in a retrieval system, or translated into || ; any form by any means without the w r i t t e n permission of || ; Karl-Heinz Dittberner-FU BERLIN, Arnimallee 22, D-1000 Berlin 33 || ;=============================================================================== ; PRO:WRITE_EEG_DATA.PRO K.-H. Dittberner - 26.MRZ.1992 ; V 01.6 P 476/86 - 6.DEZ.1993 ; ; IDL(V3.0)-Routine: Schreiben einer strukturierten Daten-File mit ; EEG-Potentialen. ; ; HINWEISE: Dieses UP wird z.B. von AVE_EEG.PRO (P 476/37) verwendet. ; n = Anzahl ; x = Werte ; s = Standardabweichungen bzw. Fehler ; ; KEYWORDS: ; ; /AddParams = In der 1. Zeile der Datei werden die Parameter ; points, tvor, tnach, tsamp ausgegeben. ; /NoClose = Die Datei wird in diesem UP nicht geschlossen. Das muss ; im uebergeordneten Programm erledigt werden. ; /NoErrors = Es werden keine Standardabweichungen oder Fehler in die ; Datei geschrieben. Dieses ist n u r fuer Sonderanwen- ; dungen (z.B. Transport zu einer anderen Applikation) ; sinnvoll! ; /NoOpen = Die einmal geoeffnete Datei wird fuer weitere Ausgaben ; verwendet. ; ; Quelle: Do-it-yourself! Merkposten: o ; C92 249 o ; o ; Aufruf: Siehe AVE_EEG. o ; o ;=============================================================================== ; Aenderungen: [10/11/92-khd] => V 01.1: ; - Diese Prozedur aus dem UP "WRITE_DATA" aus Pkt.0 des ; Programms AVE_EEG.PRO-V02.16e vom 9/11/92 abgespalten. ; [1/12/92-khd] => V 01.2: (Copy => FUHRY) ; - Das bisherige Keyword RANDOM_SHUFFLING => ADDPARAMS ; geaendert, denn nunmehr soll die Parameterzeile nicht nur ; bei der Datenausgabe des "Random-Shufflings" zugefuegt ; werden koennen. ; [8/12/92-khd] => V 01.3: ; - Pkt.1: Common EEGS um 7 VARs erweitert. ; - Pkt.3: Ausgabe von n_vpn, n_cat, n_loc in 1. Zeile zugefuegt. ; [9/12/92-khd] => V 01.4: ; - Alles: Aufruf um optionale Parameter m_vpn, m_cat, m_loc ; erweitert. ; - Pkt.3: Ausgabe der 1. Zeile entsprechend geaendert. ; [11/1/93-khd] => V 01.5: ; - Pkt.1: Die Common-Bereiche alle auf Include (@Common_...) ; umgestellt. ; [6/12/93-khd] => V 01.6: ; - Alles: Neues Keyword /NoErrors fuer Sonderanwendung bei ; Frau Kiehntopf eingefuehrt. ; - Pkt.3: Keyword /NoErrors implementiert. ;=============================================================================== ; 1. Prolog, Variablen und Konstanten: ;=============================================================================== ; On_Error, 2 ; Return => Ruf. Programm. On_IOerror, IO_Error @Common_EEGS ; Include P 476/49. @Common_DEVI ; Include P 476/91. ; ;=============================================================================== ; 2. Behandlung der Keywords (Default-Werte): ;=============================================================================== ; ; ;=============================================================================== ; 3. Das Schreiben der EEG-Daten: ;=============================================================================== ; If Not Keyword_Set(NoOpen) $ then OpenW, Out, fileName+".TXT", /Get_LUN ; Filetyp ===> .TXT gesetzt! If Keyword_Set(AddParams) $ then Begin If (N_Params() eq 4) then $ ; Im Aufruf nur 4 Params. PrintF, Out, points, tvor, tnach, tsamp, n_vpn, n_cat, n_loc If (N_Params() eq 7) then $ ; Im Aufruf sind 7 Params. PrintF, Out, points, tvor, tnach, tsamp, m_vpn, m_cat, m_loc Endif $ else PrintF, Out, "" ; Leerzeile zur Trennung zw. Jobs. PrintF, Out, fileName ; Bezeichnung des Jobs. If Not Keyword_Set(NoErrors) $ then Begin PrintF, Out, n ; Anzahl der Messungen. PrintF, Out, "mean" Endif PrintF, Out, x, FORMAT='(6(F12.5," "))' ; Die Mittelwerte selbst (im Block). If Not Keyword_Set(NoErrors) $ then Begin PrintF, Out, "" PrintF, Out, "std-dev" PrintF, Out, s, FORMAT='(6(F12.5," "))' ; Die Standardabweichungen. Endif If Keyword_Set(NoClose) then Goto, Finis else Goto, Ende ; ;=============================================================================== ; 4. Schluss: ;=============================================================================== ; IO_Error: On_IOError, Null Print, !Err_String Ende: Free_LUN, Out ; Close + Freigabe des File-Kanals. Finis: END ;===============================================================================