CTU-UHB Intrapartum Cardiotocography Database 产时CTG信号数据下载与读取(2021.7.9 新增阿里云盘下载)

10 篇文章 0 订阅
6 篇文章 0 订阅

CTU-CHB

首先说明一下什么是CTU-UHB Intrapartum Cardiotocography Database

简单来说,这是一个产时CTG的数据库,里面有552条数据,都是包括了胎心率FHR和宫缩UC的。前几天一直想做这个数据集的建模,但是苦苦找不到数据的读取方式,这个.dat文件是真的难搞…

下面省得各位去官网看,就搬了过来

Abstract

This database, from the Czech Technical University (CTU) in Prague and the University Hospital in Brno (UHB), contains 552 cardiotocography (CTG) recordings, which were carefully selected from 9164 recordings collected between 2010 and 2012 at UHB.

该数据库来自布拉格的捷克技术大学(CTU)和布尔诺的大学医院(UHB),其中包含552个胎心宫缩图(CTG)记录,这些记录是从2010年至2012年在UHB收集的9164份记录中精心选择的。

Data Description

The CTG recordings start no more than 90 minutes before actual delivery, and each is at most 90 minutes long. Each CTG contains a fetal heart rate (FHR) time series and a uterine contraction (UC) signal, each sampled at 4 Hz.

CTG录音开始于实际交付之前不超过90分钟,并且每次录音最长为90分钟。每个CTG都包含一个胎儿心率(FHR)时间序列和一个子宫收缩(UC)信号,每个信号均以4 Hz采样。

我整理了一下后看到,最长的数据长度为21600,对应90分钟,就是每秒钟4个点

The priority was to create as homogeneous a set as possible; thus only recordings fulfilling the following criteria were included:

  • Singleton pregnancy
  • Gestational age >36 weeks
  • No a priori known developmental defects
  • Duration of stage 2 of labor ≤ 30 minutes
  • FHR signal quality (i.e. percentage of the recording during which FHR data were available) > 50% in each 30 minute window
  • Available analysis of biochemical parameters of umbilical arterial blood sample(i.e. pH)
  • Majority of vaginal deliveries (only 46 cesarean section (CS) deliveries included)

首要任务是创建尽可能均匀的集合。因此,仅包括满足以下条件的录音:

  • 单胎妊娠
  • 孕龄> 36周
  • 没有先验已知的发育缺陷
  • 分娩第二阶段的持续时间≤30分钟
  • 每30分钟窗口中FHR信号质量(即可获得FHR数据的记录百分比)> 50%
  • 可用的脐动脉血样品生化参数分析(即pH)
  • 大部分阴道分娩(仅包括46例剖宫产)

Additional parameters were collected for all recordings, and are available in the (text) .hea files of the records:

  • Maternal data: age; parity; gravidity;
  • Delivery data: type of delivery (vaginal; operative vaginal; CS); duration of delivery; meconium stained fluid; type of measurement (i.e. ultrasound or direct scalp electrode);
  • Fetal data: sex; birth weight;
  • Fetal outcome data: analysis of umbilical artery blood sample (i.e. pH; pCO2; pO2; base excess and computed BDecf); Apgar score; neonatology evaluation (i.e. need for O2; seizures; admission to NICU)
  • Expert evaluation of the CTG data “Gold Standard” evaluation based on annotation of the signals by 9 expert obstetricians (following FIGO guidelines used in the Czech Republic) including variability/confidence for each signal (Note: these data are not yet available!)

收集了所有记录的其他参数,这些参数在记录的(文本).hea文件中可用:

  • 产妇数据:年龄;平价; 感激
  • 分娩数据:分娩类型(阴道,手术阴道,CS);交货期限;胎粪污染的液体; 测量类型(即超声或头> 皮-直接电极);
  • 胎儿数据:性别;出生体重;
  • 胎儿结局数据:分析脐动脉血样(即pH值; pCO2; pO2;碱过量和计算得出的BDecf);Apgar分数;新生儿科评估(即是否需要氧气,癫痫发作,入住重症监护病房)
  • 根据9位专业产科医生的信号注释(遵循捷克共和国使用的FIGO指南)对CTG数据“金标准”进行的专家评估,包括每种信号的变异性/可信度(注意:这些数据尚不可用!)

Acknowledgements

PhysioNet thanks Václav Chudáček, Jiří Spilka, Miroslav Burša, Michal Huptych, and Lenka Lhotská at CTU, and Petr Janků and Lukáš Hruban at UHB, who created this data set, for making it freely available to the worldwide research community via PhysioBank. Special thanks to Václav Chudáček for coordinating the contribution and data transfer, and for his careful attention to ensure the quality of these records.

PhysioNet感谢CTU的VáclavChudáček,JiříSpilka,MiroslavBurša,Michal Huptych和LenkaLhotská,以及UHB的PetrJanků和LukášHruban,他们创建了此数据集,以便通过PhysioBank向全世界的研究社区免费提供。特别感谢VáclavChudáček协调了贡献和数据传输,并特别注意确保这些记录的质量。

The creators of this database would like to thank Philips Healthcare for providing software for extraction and transformation of the CTG data from the OB TraceVue system to an open format.

该数据库的创建者要感谢Philips Healthcare提供的软件,该软件用于将CTG数据从OB TraceVue系统提取和转换为开放格式。

正文

这些数据文件的大小为38MB,里面存放了.hea和.dat文件,官网提供了四个下载文件的方式

  1. zip文件
  2. 此处使用Google Cloud Storage浏览器访问文件。必须使用Google帐户登录。
  3. Access the data using Google Cloud “gsutil”: gsutil -m cp -r gs://ctu-uhb-ctgdb-1.0.0.physionet.org DESTINATION
  4. Download the files using your terminal: wget -r -N -c -np https://physionet.org/files/ctu-uhb-ctgdb/1.0.0/

官方还提供了一个可视化的链接,可以通过这个直接看到CTG图像,打开网页后选择一个文件,展示就像这样:
在这里插入图片描述
下拉可以选择时间,这里只是显示一分钟内的图像,可以拖动选择更长的时间序列

数据读取

通过上方的链接下载好数据后,就要考虑读取数据的问题了。

我是不知道怎么用python直接读取这些数据,通过不断百度,我找到了一个MATLAB的读取CTU-UHB的CTG数据的代码,可以直接下载使用,我这里也存了起来,可以用百度网盘下载,13M而已

链接:https://pan.baidu.com/s/1w-y8s8yYKEmdd_XtlH8aZA
提取码:dfhd

MATLAB代码

% this code is writted by "Omid Ghahary" to read all data from 
% "The CTU-UHB Intrapartum Cardiotocography Database" located in
% "https://www.physionet.org/pn3/ctu-uhb-ctgdb/".
% by this file you can load this database in matlab format.
% for more information contanct me by this email address: 
% mg_omidy@yahoo.com

close all
clear
clc

Pname = 'dataset\';
fid = fopen('RECORDS.txt');
DataName = textscan(fid,'%d');
DataName = DataName{1};
fclose(fid);

N_files = length(DataName);
Data = repmat(struct('cParams',[],'FHR',[],'UC',[],'Time',[]), N_files,1);
for i = 1:N_files
    Name = num2str(DataName(i));

    fid = fopen([Pname Name '.hea']);
    z = fgetl(fid);
    fistline = sscanf(z, '%*s %d %d %d',[1,3]);
    nNrSignals = fistline(1);  % number of signals
    nFs = fistline(2);   % sample rate of data
    nNrSamples =fistline(3);   

    cHeader = struct([]);
    for k=1:nNrSignals

        z = fgetl(fid);
        if ~isempty(strfind(z,'FHR'))
            A = sscanf(z, '%*s %d %d(0)/bpm %d %d %d %d');
        elseif ~isempty(strfind(z,'UC'))
            A = sscanf(z, '%*s %d %d/nd %d %d %d %d');
        end

        cHeader(k).dformat = A(1);          % format; 
        cHeader(k).gain= A(2);              % number of integers per mV
        cHeader(k).bitres= A(3);            % bitresolution
        cHeader(k).zerovalue= A(4);         % integer value of ECG zero point
        cHeader(k).firstvalue= A(5);        % first integer value of signal (to test for errors)
        cHeader(k).checksum= A(6);          % checksum
    end;

    % read clinical information
    paramCounter = 0;
    eof = 0;
    cParams = [];

    while ~eof
        tline = fgetl(fid);
        if tline==-1
            eof = 1;
        else
            if ~isempty(tline) && ~strcmp(tline(2),'-')
                paramCounter = paramCounter+1;

                param_name = strtrim(tline(2:14));
                param_name(param_name == ' ') = '_';
                param_name(param_name == '.') = '';
                param_name(param_name == '(') = '_';
                param_name(param_name == ')') = '';
                param_name(param_name == '/') = '_';
                cParams.(param_name) = str2double(tline(15:end));
            end
        end
    end
%     disp(cParams)

    fclose(fid);

    % read data from a file
    fid = fopen([Pname Name , '.dat']);
    data = fread(fid, [nNrSignals, nNrSamples], 'uint16');
    fclose(fid);

    % convert for output
    FHR  = (data(1,:) - cHeader(1).zerovalue)/cHeader(1).gain;
    UC  = (data(2,:) - cHeader(2).zerovalue)/cHeader(2).gain;
    Time = (0:(nNrSamples-1))/nFs;
    
    Data(i).cParams = cParams;
    Data(i).FHR = FHR;
    Data(i).UC = UC;
    Data(i).Time = Time;
end
save('Data.mat', 'Data')

可以自己修改代码到自己想要的格式,或者转换为python的格式,反正我是不会改,所以我找了同学帮我跑这个程序,跑完的结果Data.mat我也保存在网盘了:

链接: https://pan.baidu.com/s/1XCYIkfJbnd5_ptIBC5CTQw
提取码: yy7h

数据整理

上面的Data.mat也不是最终可以拿出来使用的数据,不过这个我就没麻烦同学了,自己写一个python文件就可以开始读取了,python读取.mat文件的方式百度上搜索很方便,随便找找都能用

由于我做过CTG信号数据的其他数据,所以我的数据按照我想要的格式存好了,就像这样:
每个文件对应两个数据,ID从.mat文件中可以取到
每个文件对应两个数据,ID从.mat文件中可以取到,在文件中的存放大致像这样:第一列是胎心率,第二列是宫缩

在这里插入图片描述
根据数据库的描述,在Data.mat中还有特征数据,这部分数据我也提取出来了,将来的文件ID与标签对应还得看特征数据里面的ID和ph值(根据论文Automatic evaluation of FHR recordings from CTU-UHB CTG database的描述,ph小于等于7.05为病理类,大于为正常类),原本的特征数据中是没有Class这一列的,这是我根据ph值划分的正常类和异常类。下图是部分特征和部分样本的示例。
在这里插入图片描述

特征数据(98.7K):
链接: https://pan.baidu.com/s/1TA_hJzNUmTuhoy9fB7U_OA
提取码: r6rk

阿里云盘下载
https://www.aliyundrive.com/s/W99huTzqJsQ

信号数据(12.7M):
链接: https://pan.baidu.com/s/1tRXCaZ5uMHCwao-Asnh1WA
提取码: bndi

阿里云盘下载
https://www.aliyundrive.com/s/7KdRD8vmBBa


注意!

如果使用他们家的数据的发表论文啥的,记得要备注上!
在这里插入图片描述

When using this resource, please cite the original publication:
Václav Chudáček, Jiří Spilka, Miroslav Burša, Petr Janků, Lukáš Hruban, Michal Huptych, Lenka Lhotská. Open access intrapartum CTG database. BMC Pregnancy and Childbirth 2014 14:16.

Please include the standard citation for PhysioNet: (show more options)
Goldberger, A., Amaral, L., Glass, L., Hausdorff, J., Ivanov, P. C., Mark, R., … & Stanley, H. E. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation [Online]. 101 (23), pp. e215–e220.




这还不给点个赞~

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
这个问题是关于MySQL服务器的错误信息。根据提供的引用内容,无法确定具体的原因。但是,根据常见的错误信息,这个错误可能是由于MySQL服务器无法更新PID文件导致的。PID文件是用来存储MySQL服务器进程ID的文件,如果服务器无法更新该文件,可能是由于权限问题或者其他系统配置问题引起的。为了解决这个问题,可以尝试以下几个步骤: 1. 检查MySQL服务器的日志文件,查看是否有其他错误或警告信息,以便更好地理解问题的根本原因。 2. 确保MySQL服务器的数据目录(/usr/local/mysql/data)具有正确的权限设置,MySQL服务器需要有足够的权限来读取和写入该目录。 3. 检查系统的磁盘空间,确保磁盘没有满,否则可能导致无法写入PID文件。 4. 如果问题仍然存在,可以尝试重新启动MySQL服务器,并监视日志文件以获取更多的错误信息。 请注意,这只是一些可能的解决方法,具体的解决方法可能因系统配置和环境而异。建议在解决问题之前备份重要的数据,并在进行任何更改之前仔细阅读相关文档或咨询专业人士。 #### 引用[.reference_title] - *1* *2* *3* [centos7安装大数据平台](https://blog.csdn.net/zhaoyaxiong_ctu/article/details/113151938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值