Main Content

edfheader

EDF または EDF+ ファイルのヘッダー構造体の作成

R2021a 以降

    説明

    hdr = edfheader(filetype) は、edfwrite で European Data Format (EDF) または EDF+ ファイルを作成するときに使用できるヘッダー構造体を作成します。

    すべて折りたたむ

    EDF+ ファイルのヘッダー レコードを作成して記録情報を指定します。ヘッダーのプロパティを表示します。

    hdr = edfheader("EDF+");
    hdr.Patient = "P42Dory F";
    hdr.Recording = "AJMS Device2";
    hdr.StartDate = "27.12.1993";
    hdr.StartTime = "04.22.24";
    hdr.Reserved = "EDF+C";
    hdr.NumDataRecords = 1;
    hdr.DataRecordDuration = seconds(4.22)
    hdr = struct with fields:
                   Patient: "P42Dory F"
                 Recording: "AJMS Device2"
                 StartDate: "27.12.1993"
                 StartTime: "04.22.24"
                  Reserved: "EDF+C"
            NumDataRecords: 1
        DataRecordDuration: 4.22 sec
                NumSignals: []
              SignalLabels: [0x0 string]
           TransducerTypes: [0x0 string]
        PhysicalDimensions: [0x0 string]
               PhysicalMin: []
               PhysicalMax: []
                DigitalMin: []
                DigitalMax: []
                 Prefilter: [0x0 string]
            SignalReserved: [0x0 string]
    
    

    新しい EDF ファイルのヘッダー レコードを作成します。

    hdr = edfheader("EDF");

    [–24000, 32767] の範囲の整数を含む 1,000 サンプルのランダム信号を 2 つ生成し、2 番目の信号にランダム ノイズを追加します。両方の信号をプロットします。

    sigdata = randi([-24000 32767],1000,2);
    sigdata(:,2) = sigdata(:,2) + 0.7*randn(1000,1);
    plot(sigdata)

    作成した 2 つのデジタル信号に基づいてヘッダー プロパティを指定します。デジタル最大値とデジタル最小値は発生する可能性のある極値に相当するので、それぞれの値として –3276832767 を指定します。

    hdr.NumSignals = 2;
    hdr.NumDataRecords = 1;
    hdr.PhysicalMin = [-3200 -3200];
    hdr.PhysicalMax = [3200 3200];
    hdr.DigitalMin = [-32768 -32768];
    hdr.DigitalMax = [32767 32767];

    ヘッダー構造体とランダム データを含む新しい EDF ファイルを書き込みます。ファイルのプロパティを表示します。

    edfw = edfwrite("rand.edf",hdr,sigdata);
    edfinfo("rand.edf")
    ans = 
      edfinfo with properties:
    
                  Filename: "rand.edf"
               FileModDate: "07-Mar-2024 15:29:58"
                  FileSize: 4768
                   Version: "0"
                   Patient: "1234567 F 07-MAR-2024 Patient_1"
                 Recording: "Startdate 07-MAR-2024 MW_1234567 MW_Inv_01 MW_Eq_01"
                 StartDate: "07.03.24"
                 StartTime: "15.29.58"
               HeaderBytes: 768
                  Reserved: ""
            NumDataRecords: 1
        DataRecordDuration: 1 sec
                NumSignals: 2
              SignalLabels: [2x1 string]
           TransducerTypes: [2x1 string]
        PhysicalDimensions: [2x1 string]
               PhysicalMin: [2x1 double]
               PhysicalMax: [2x1 double]
                DigitalMin: [2x1 double]
                DigitalMax: [2x1 double]
                 Prefilter: [2x1 string]
                NumSamples: [2x1 double]
            SignalReserved: [2x1 string]
               Annotations: [0x2 timetable]
    
    

    新しい患者識別レコードを指定し、記録開始時間を 21:12:00 に変更します。さらに、各信号にラベルを指定します。ヘッダー構造体を表示して、変更したプロパティを確認します。

    hdr.Patient = "20210410 F 27-JUL-2017";
    hdr.SignalLabels = ["sig1" "sig2"];
    hdr.StartTime = "21.12.00"
    hdr = struct with fields:
                   Patient: "20210410 F 27-JUL-2017"
                 Recording: "Startdate 07-MAR-2024 MW_1234567 MW_Inv_01 MW_Eq_01"
                 StartDate: "07.03.24"
                 StartTime: "21.12.00"
                  Reserved: ""
            NumDataRecords: 1
        DataRecordDuration: 1 sec
                NumSignals: 2
              SignalLabels: ["sig1"    "sig2"]
           TransducerTypes: [0x0 string]
        PhysicalDimensions: [0x0 string]
               PhysicalMin: [-3200 -3200]
               PhysicalMax: [3200 3200]
                DigitalMin: [-32768 -32768]
                DigitalMax: [32767 32767]
                 Prefilter: [0x0 string]
            SignalReserved: [0x0 string]
    
    

    入力引数

    すべて折りたたむ

    ファイル タイプ。"EDF" または "EDF+" として指定します。

    データ型: string

    出力引数

    すべて折りたたむ

    ヘッダー レコード。次のフィールドを含む構造体として返されます。

    フィールド説明

    Patient

    患者識別の詳細。string スカラーとして返されます。患者識別の詳細には、患者 ID、性別またはジェンダー、'dd-MMM-yyyy' 形式の生年月日、および名前が含まれます。

    Recording

    識別の詳細の記録。string スカラーとして返されます。識別の詳細の記録には、開始日時、記録を行った技術者の ID、および記録に使った装置の ID が含まれる場合があります。

    StartDate

    記録開始日。'dd.MM.yy' 形式の string スカラーとして返されます。

    StartTime

    記録開始時間。'HH.mm.ss' 形式の string スカラーとして返されます。

    Reserved

    EDF+ の中断情報。EDF+ 準拠ファイルに対して "EDF+C" または "EDF+D" として返されます。

    • "EDF+C" — 記録は連続しています。中断はなく、すべてのデータ レコードは連続しているため、各データ レコードの開始時間は、前のレコードの開始時間に記録時間を加えたものと一致します。

    • "EDF+D" — 記録は不連続であり、連続するデータ レコード間に中断があります。

    EDF+ に準拠していないファイルの場合、このプロパティは空の文字列 ("") になります。

    NumDataRecords

    ファイル内のデータ レコードの数。整数スカラーとして返されます。

    メモ

    filename が EDF に準拠していない場合、データ レコードの数が不明なときには NumDataRecords-1 に設定できます。filename が EDF に準拠している場合、NumDataRecords を正の整数に設定しなければなりません。filenameReserved が空以外の文字列に設定されていて、NumDataRecords-1 に設定されている場合、edfinfo はエラーをスローします。

    DataRecordDuration

    各データ レコードの持続時間。duration スカラーとして返されます。

    NumSignals

    ファイル内の信号の数。整数スカラーとして返されます。

    SignalLabels

    信号名。長さ NumSignals の string ベクトルとして返されます。

    メモ

    SignalLabels が指定されない場合、edfwrite は既定のラベルとして i 番目の信号に "Signal_i" を使用します。

    TransducerTypes

    変換器の詳細。長さ NumSignals の string ベクトルとして返されます。TransducerTypes の各要素には、SignalLabels の対応する信号を取得するために使用される変換器に関する詳細が含まれます。

    PhysicalDimensions

    信号のデータ単位。長さ NumSignals の string ベクトルとして返されます。PhysicalDimensions の各要素には、SignalLabels の対応する信号の値を表すために使用される測定単位が含まれます。

    PhysicalMin

    信号の最小物理値。長さ NumSignals の数値ベクトルとして返されます。PhysicalMin の各要素には、SignalLabels の対応する信号の最小物理値が含まれます。

    PhysicalMax

    信号の最大物理値。長さ NumSignals の数値ベクトルとして返されます。PhysicalMax の各要素には、SignalLabels の対応する信号の最大物理値が含まれます。

    DigitalMin

    信号の最小デジタル値。長さ NumSignals の数値ベクトルとして返されます。DigitalMin の各要素には、SignalLabels の対応する信号の最小デジタル値が含まれます。

    DigitalMax

    信号の最大デジタル値。長さ NumSignals の数値ベクトルとして返されます。DigitalMax の各要素には、SignalLabels の対応する信号の最大デジタル値が含まれます。

    Prefilter

    信号のデータ単位。長さ NumSignals の string ベクトルとして返されます。Prefilter の各要素には、SignalLabels の対応する信号を前処理するために使用されるフィルターに関する詳細 (該当する場合) が含まれます。

    SignalReserved

    追加の信号情報。長さ NumSignals の string ベクトルとして返されます。SignalReserved の各要素には、SignalLabels の対応する信号に関する追加情報 (該当する場合) が含まれます。

    参照

    [1] Kemp, Bob, Alpo Värri, Agostinho C. Rosa, Kim D. Nielsen, and John Gade. “A Simple Format for Exchange of Digitized Polygraphic Recordings.” Electroencephalography and Clinical Neurophysiology 82, no. 5 (May 1992): 391–93. https://doi.org/10.1016/0013-4694(92)90009-7.

    [2] Kemp, Bob, and Jesus Olivan. "European Data Format 'plus' (EDF+), an EDF Alike Standard Format for the Exchange of Physiological Data." Clinical Neurophysiology 114, no. 9 (2003): 1755–1761. https://doi.org/10.1016/S1388-2457(03)00123-8.

    バージョン履歴

    R2021a で導入

    参考

    アプリ

    オブジェクト

    関数

    外部の Web サイト