mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-05 18:50:44 +00:00
Fix Pressure mixup
This commit is contained in:
parent
8e24b90ee4
commit
d75983debb
@ -52,8 +52,8 @@ void gFlagsGroup::Plot(gGraphWindow &w, float scrx, float scry)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
gFlagsLine::gFlagsLine(gPointData *d,QColor col,QString _label,bool always_visible, int _line_num,int _total_lines)
|
gFlagsLine::gFlagsLine(gPointData *d,QColor col,QString _label,bool always_visible)
|
||||||
:gLayer(d),label(_label),m_always_visible(always_visible),line_num(_line_num),total_lines(_total_lines)
|
:gLayer(d),label(_label),m_always_visible(always_visible)
|
||||||
{
|
{
|
||||||
color.clear();
|
color.clear();
|
||||||
color.push_back(col);
|
color.push_back(col);
|
||||||
|
@ -15,7 +15,7 @@ class gFlagsLine:public gLayer
|
|||||||
{
|
{
|
||||||
friend class gFlagsGroup;
|
friend class gFlagsGroup;
|
||||||
public:
|
public:
|
||||||
gFlagsLine(gPointData *d=NULL,QColor col=Qt::black,QString _label="",bool always_visible=false, int _line_num=0,int _total_lines=0);
|
gFlagsLine(gPointData *d=NULL,QColor col=Qt::black,QString _label="",bool always_visible=false);
|
||||||
virtual ~gFlagsLine();
|
virtual ~gFlagsLine();
|
||||||
|
|
||||||
virtual void Plot(gGraphWindow & w,float scrx,float scry);
|
virtual void Plot(gGraphWindow & w,float scrx,float scry);
|
||||||
@ -23,10 +23,12 @@ class gFlagsLine:public gLayer
|
|||||||
void setAlwaysVisible(bool b) { m_always_visible=b; }
|
void setAlwaysVisible(bool b) { m_always_visible=b; }
|
||||||
QString Label() { return label; }
|
QString Label() { return label; }
|
||||||
void Label(QString s) { label=s; }
|
void Label(QString s) { label=s; }
|
||||||
|
void setTotalLines(int i) { total_lines=i; };
|
||||||
|
void setLineNum(int i) { line_num=i; };
|
||||||
protected:
|
protected:
|
||||||
QString label;
|
QString label;
|
||||||
bool m_always_visible;
|
bool m_always_visible;
|
||||||
int line_num,total_lines;
|
int total_lines,line_num;
|
||||||
};
|
};
|
||||||
|
|
||||||
class gFlagsGroup:public gLayerGroup
|
class gFlagsGroup:public gLayerGroup
|
||||||
|
@ -289,15 +289,15 @@ void AHIData::Reload(Day *day)
|
|||||||
point[0][3].setX(point[0][3].y());
|
point[0][3].setX(point[0][3].y());
|
||||||
point[0][4].setY(day->count(CPAP_FlowLimit)/day->hours());
|
point[0][4].setY(day->count(CPAP_FlowLimit)/day->hours());
|
||||||
point[0][4].setX(point[0][4].y());
|
point[0][4].setX(point[0][4].y());
|
||||||
point[0][5].setY((100.0/day->hours())*(day->sum(CPAP_CSR)/3600.0));
|
//point[0][5].setY((100.0/day->hours())*(day->sum(CPAP_CSR)/3600.0));
|
||||||
point[0][5].setX(point[0][5].y());
|
//point[0][5].setX(point[0][5].y());
|
||||||
np[0]=6;
|
np[0]=5;
|
||||||
m_ready=true;
|
m_ready=true;
|
||||||
//REFRESH??
|
//REFRESH??
|
||||||
}
|
}
|
||||||
|
|
||||||
FlagData::FlagData(MachineCode _code,double _value,int _field,int _offset)
|
FlagData::FlagData(MachineCode _code,int _field,int _offset)
|
||||||
:gPointData(65536),code(_code),value(_value),field(_field),offset(_offset)
|
:gPointData(65536),code(_code),field(_field),offset(_offset)
|
||||||
{
|
{
|
||||||
AddSegment(max_points);
|
AddSegment(max_points);
|
||||||
}
|
}
|
||||||
@ -330,7 +330,6 @@ void FlagData::Reload(Day *day)
|
|||||||
point[vc][c].setY(v2);
|
point[vc][c].setY(v2);
|
||||||
v1=point[vc][c].x();
|
v1=point[vc][c].x();
|
||||||
v2=point[vc][c].y();
|
v2=point[vc][c].y();
|
||||||
//point[vc][c].z=value;
|
|
||||||
c++;
|
c++;
|
||||||
if (c>=max_points) {
|
if (c>=max_points) {
|
||||||
qWarning() << "FlagData: max_points exceeded";
|
qWarning() << "FlagData: max_points exceeded";
|
||||||
@ -348,8 +347,8 @@ void FlagData::Reload(Day *day)
|
|||||||
}
|
}
|
||||||
if (done) break;
|
if (done) break;
|
||||||
}
|
}
|
||||||
min_y=-value;
|
min_y=0;//-value;
|
||||||
max_y=value;
|
max_y=1;//value;
|
||||||
np[vc]=c;
|
np[vc]=c;
|
||||||
vc++;
|
vc++;
|
||||||
real_min_x=min_x;
|
real_min_x=min_x;
|
||||||
|
@ -16,12 +16,11 @@
|
|||||||
class FlagData:public gPointData
|
class FlagData:public gPointData
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FlagData(MachineCode _code,double _value=0,int _field=-1,int _offset=-1);
|
FlagData(MachineCode _code,int _field=-1,int _offset=-1);
|
||||||
virtual ~FlagData();
|
virtual ~FlagData();
|
||||||
virtual void Reload(Day *day=NULL);
|
virtual void Reload(Day *day=NULL);
|
||||||
protected:
|
protected:
|
||||||
MachineCode code;
|
MachineCode code;
|
||||||
double value;
|
|
||||||
int field;
|
int field;
|
||||||
int offset;
|
int offset;
|
||||||
};
|
};
|
||||||
|
@ -557,7 +557,7 @@ bool ResmedLoader::LoadPLD(Session *sess,EDFParser &edf)
|
|||||||
code=CPAP_Snore;
|
code=CPAP_Snore;
|
||||||
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration);
|
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration);
|
||||||
} else if (edf.edfsignals[s]->label=="Therapy Pres") {
|
} else if (edf.edfsignals[s]->label=="Therapy Pres") {
|
||||||
code=CPAP_Pressure;
|
code=CPAP_TherapyPressure;
|
||||||
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration,50.0); //50.0
|
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration,50.0); //50.0
|
||||||
} else if (edf.edfsignals[s]->label=="MV") {
|
} else if (edf.edfsignals[s]->label=="MV") {
|
||||||
code=CPAP_MinuteVentilation;
|
code=CPAP_MinuteVentilation;
|
||||||
@ -584,7 +584,7 @@ bool ResmedLoader::LoadPLD(Session *sess,EDFParser &edf)
|
|||||||
code=CPAP_FlowLimitGraph;
|
code=CPAP_FlowLimitGraph;
|
||||||
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration,1.0);
|
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration,1.0);
|
||||||
} else if (edf.edfsignals[s]->label=="Mask Pres") {
|
} else if (edf.edfsignals[s]->label=="Mask Pres") {
|
||||||
code=CPAP_MaskPressureEvt;
|
code=CPAP_Pressure;
|
||||||
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration,50.0);
|
ToTimeDelta(sess,edf,edf.edfsignals[s]->data, code,recs,duration,50.0);
|
||||||
} else if (edf.edfsignals[s]->label=="Exp Press") {
|
} else if (edf.edfsignals[s]->label=="Exp Press") {
|
||||||
code=CPAP_ExpPressure;
|
code=CPAP_ExpPressure;
|
||||||
|
@ -43,7 +43,7 @@ enum MachineCode//:qint16
|
|||||||
CPAP_PressureReliefSetting, CPAP_HumidifierSetting, CPAP_HumidifierStatus, CPAP_PressureMinAchieved,
|
CPAP_PressureReliefSetting, CPAP_HumidifierSetting, CPAP_HumidifierStatus, CPAP_PressureMinAchieved,
|
||||||
CPAP_PressureMaxAchieved, CPAP_PressurePercentValue, CPAP_PressurePercentName, CPAP_PressureAverage, CPAP_PressureMedian,
|
CPAP_PressureMaxAchieved, CPAP_PressurePercentValue, CPAP_PressurePercentName, CPAP_PressureAverage, CPAP_PressureMedian,
|
||||||
CPAP_LeakMedian,CPAP_LeakMinimum,CPAP_LeakMaximum,CPAP_LeakAverage,CPAP_Duration,
|
CPAP_LeakMedian,CPAP_LeakMinimum,CPAP_LeakMaximum,CPAP_LeakAverage,CPAP_Duration,
|
||||||
CPAP_SnoreMinimum, CPAP_SnoreMaximum, CPAP_SnoreAverage, CPAP_SnoreMedian, CPAP_MaskPressureEvt, CPAP_ExpPressure,
|
CPAP_SnoreMinimum, CPAP_SnoreMaximum, CPAP_SnoreAverage, CPAP_SnoreMedian, CPAP_TherapyPressure, CPAP_ExpPressure,
|
||||||
|
|
||||||
BIPAP_EAPAverage,BIPAP_IAPAverage,BIPAP_EAPMin,BIPAP_EAPMax,BIPAP_IAPMin,BIPAP_IAPMax,
|
BIPAP_EAPAverage,BIPAP_IAPAverage,BIPAP_EAPMin,BIPAP_EAPMax,BIPAP_IAPMin,BIPAP_IAPMax,
|
||||||
BIPAP_PSAverage,BIPAP_PSMin, BIPAP_PSMax,
|
BIPAP_PSAverage,BIPAP_PSMin, BIPAP_PSMax,
|
||||||
|
52
daily.cpp
52
daily.cpp
@ -66,16 +66,17 @@ Daily::Daily(QWidget *parent,QGLWidget * shared) :
|
|||||||
//fmt.setDefaultFormat(fmt);
|
//fmt.setDefaultFormat(fmt);
|
||||||
offscreen_context=new QGLContext(fmt); */
|
offscreen_context=new QGLContext(fmt); */
|
||||||
|
|
||||||
AddCPAPData(flags[3]=new FlagData(CPAP_Hypopnea,4));
|
AddCPAPData(flags[0]=new FlagData(CPAP_CSR,1,0));
|
||||||
AddCPAPData(flags[0]=new FlagData(CPAP_CSR,7,1,0));
|
AddCPAPData(flags[1]=new FlagData(CPAP_ClearAirway));
|
||||||
AddCPAPData(flags[1]=new FlagData(CPAP_ClearAirway,6));
|
AddCPAPData(flags[2]=new FlagData(CPAP_Obstructive));
|
||||||
AddCPAPData(flags[2]=new FlagData(CPAP_Obstructive,5));
|
AddCPAPData(flags[3]=new FlagData(CPAP_Hypopnea));
|
||||||
AddCPAPData(flags[4]=new FlagData(CPAP_FlowLimit,3));
|
AddCPAPData(flags[4]=new FlagData(CPAP_FlowLimit));
|
||||||
AddCPAPData(flags[5]=new FlagData(CPAP_VSnore,2));
|
AddCPAPData(flags[5]=new FlagData(CPAP_VSnore));
|
||||||
AddCPAPData(flags[6]=new FlagData(CPAP_RERA,1));
|
AddCPAPData(flags[6]=new FlagData(CPAP_RERA));
|
||||||
AddCPAPData(flags[7]=new FlagData(PRS1_PressurePulse,1));
|
AddCPAPData(flags[7]=new FlagData(PRS1_PressurePulse));
|
||||||
AddCPAPData(flags[8]=new FlagData(PRS1_Unknown0E,1));
|
AddCPAPData(flags[8]=new FlagData(PRS1_Unknown0E));
|
||||||
AddCPAPData(flags[9]=new FlagData(CPAP_Snore,1)); // Snore Index
|
AddCPAPData(flags[9]=new FlagData(CPAP_Apnea));
|
||||||
|
AddCPAPData(flags[10]=new FlagData(CPAP_Snore));
|
||||||
|
|
||||||
TAP=new gGraphWindow(NULL,"",(QGLWidget* )NULL);
|
TAP=new gGraphWindow(NULL,"",(QGLWidget* )NULL);
|
||||||
TAP_EAP=new gGraphWindow(NULL,"",(QGLWidget* )NULL);
|
TAP_EAP=new gGraphWindow(NULL,"",(QGLWidget* )NULL);
|
||||||
@ -88,26 +89,27 @@ Daily::Daily(QWidget *parent,QGLWidget * shared) :
|
|||||||
SF->AddLayer(new gXAxis());
|
SF->AddLayer(new gXAxis());
|
||||||
SF->setMinimumHeight(160);
|
SF->setMinimumHeight(160);
|
||||||
|
|
||||||
int sfc=7;
|
|
||||||
fg=new gFlagsGroup();
|
fg=new gFlagsGroup();
|
||||||
fg->AddLayer(new gFlagsLine(flags[0],QColor("light green"),"CSR",false,0,sfc));
|
fg->AddLayer(new gFlagsLine(flags[0],QColor("light green"),"CSR"));
|
||||||
fg->AddLayer(new gFlagsLine(flags[1],QColor("purple"),"CA",true,1,sfc));
|
fg->AddLayer(new gFlagsLine(flags[1],QColor("purple"),"CA",true));
|
||||||
fg->AddLayer(new gFlagsLine(flags[2],QColor("#40c0ff"),"OA",true,2,sfc));
|
fg->AddLayer(new gFlagsLine(flags[2],QColor("#40c0ff"),"OA",true));
|
||||||
fg->AddLayer(new gFlagsLine(flags[3],QColor("blue"),"H",true,3,sfc));
|
fg->AddLayer(new gFlagsLine(flags[3],QColor("blue"),"H",true));
|
||||||
fg->AddLayer(new gFlagsLine(flags[4],QColor("black"),"FL",false,4,sfc));
|
fg->AddLayer(new gFlagsLine(flags[4],QColor("black"),"FL"));
|
||||||
fg->AddLayer(new gFlagsLine(flags[6],QColor("gold"),"RE",false,6,sfc));
|
fg->AddLayer(new gFlagsLine(flags[6],QColor("gold"),"RE"));
|
||||||
fg->AddLayer(new gFlagsLine(flags[5],QColor("red"),"VS",false,5,sfc));
|
fg->AddLayer(new gFlagsLine(flags[5],QColor("red"),"VS"));
|
||||||
fg->AddLayer(new gFlagsLine(flags[8],QColor("dark green"),"U0E",7,sfc));
|
fg->AddLayer(new gFlagsLine(flags[8],QColor("dark green"),"U0E"));
|
||||||
//fg->AddLayer(new gFlagsLine(flags[9],QColor("red"),"VS2",8,sfc));
|
fg->AddLayer(new gFlagsLine(flags[9],QColor("dark green"),"A"));
|
||||||
|
//fg->AddLayer(new gFlagsLine(flags[10],QColor("red"),"VS2"));
|
||||||
|
|
||||||
SF->AddLayer(fg);
|
SF->AddLayer(fg);
|
||||||
// SF Foobar must go last
|
// SF Foobar must go last
|
||||||
SF->AddLayer(new gFooBar(10,QColor("orange"),QColor("dark grey"),true));
|
SF->AddLayer(new gFooBar(10,QColor("orange"),QColor("dark grey"),true));
|
||||||
|
|
||||||
AddCPAPData(pressure_iap=new EventData(CPAP_IAP));
|
AddCPAPData(pressure_iap=new EventData(CPAP_IAP));
|
||||||
AddCPAPData(pressure_eap=new EventData(CPAP_EAP));
|
AddCPAPData(pressure_eap=new EventData(CPAP_EAP));
|
||||||
AddCPAPData(prd=new EventData(CPAP_MaskPressureEvt));
|
AddCPAPData(prd=new EventData(CPAP_Pressure));
|
||||||
pressure_eap->ForceMinY(0);
|
//pressure_eap->ForceMinY(0);
|
||||||
pressure_eap->ForceMaxY(30);
|
//pressure_eap->ForceMaxY(30);
|
||||||
|
|
||||||
PRD->AddLayer(new gXAxis());
|
PRD->AddLayer(new gXAxis());
|
||||||
PRD->AddLayer(new gYAxis());
|
PRD->AddLayer(new gYAxis());
|
||||||
@ -246,14 +248,14 @@ Daily::Daily(QWidget *parent,QGLWidget * shared) :
|
|||||||
l->AddName(tr("CA"));
|
l->AddName(tr("CA"));
|
||||||
l->AddName(tr("RE"));
|
l->AddName(tr("RE"));
|
||||||
l->AddName(tr("FL"));
|
l->AddName(tr("FL"));
|
||||||
l->AddName(tr("CSR"));
|
// l->AddName(tr("CSR"));
|
||||||
l->color.clear();
|
l->color.clear();
|
||||||
l->color.push_back(QColor(0x40,0x40,0xff,0xff)); // blue
|
l->color.push_back(QColor(0x40,0x40,0xff,0xff)); // blue
|
||||||
l->color.push_back(QColor(0x40,0xaf,0xbf,0xff)); // aqua
|
l->color.push_back(QColor(0x40,0xaf,0xbf,0xff)); // aqua
|
||||||
l->color.push_back(QColor(0xb2,0x54,0xcd,0xff)); // purple
|
l->color.push_back(QColor(0xb2,0x54,0xcd,0xff)); // purple
|
||||||
l->color.push_back(QColor(0xff,0xff,0x80,0xff)); // yellow
|
l->color.push_back(QColor(0xff,0xff,0x80,0xff)); // yellow
|
||||||
l->color.push_back(QColor(0x40,0x40,0x40,0xff)); // dark grey
|
l->color.push_back(QColor(0x40,0x40,0x40,0xff)); // dark grey
|
||||||
l->color.push_back(QColor(0x60,0xff,0x60,0xff)); // green
|
//l->color.push_back(QColor(0x60,0xff,0x60,0xff)); // green
|
||||||
G_AHI->AddLayer(l);
|
G_AHI->AddLayer(l);
|
||||||
G_AHI->SetGradientBackground(false);
|
G_AHI->SetGradientBackground(false);
|
||||||
|
|
||||||
|
2
daily.h
2
daily.h
@ -74,7 +74,7 @@ private:
|
|||||||
void UpdateCPAPGraphs(Day *day);
|
void UpdateCPAPGraphs(Day *day);
|
||||||
void UpdateOXIGraphs(Day *day);
|
void UpdateOXIGraphs(Day *day);
|
||||||
|
|
||||||
gPointData *flags[10];
|
gPointData *flags[11];
|
||||||
|
|
||||||
Ui::Daily *ui;
|
Ui::Daily *ui;
|
||||||
Profile *profile;
|
Profile *profile;
|
||||||
|
@ -87,26 +87,26 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
if (!pref.Exists("Profile")) pref["Profile"]=getUserName();
|
if (!pref.Exists("Profile")) pref["Profile"]=getUserName();
|
||||||
|
|
||||||
if (!pref.Exists("LinkGraphMovement")) pref["LinkGraphMovement"]=true;
|
if (!pref.Exists("LinkGraphMovement")) pref["LinkGraphMovement"]=true;
|
||||||
else ui->action_Link_Graphs->setChecked(pref["LinkGraphMovement"].toBool());
|
ui->action_Link_Graphs->setChecked(pref["LinkGraphMovement"].toBool());
|
||||||
|
|
||||||
if (!pref.Exists("ShowDebug")) pref["ShowDebug"]=true;
|
if (!pref.Exists("ShowDebug")) pref["ShowDebug"]=true;
|
||||||
else ui->actionDebug->setChecked(pref["ShowDebug"].toBool());
|
ui->actionDebug->setChecked(pref["ShowDebug"].toBool());
|
||||||
|
|
||||||
if (!pref["ShowDebug"].toBool()) {
|
if (!pref["ShowDebug"].toBool()) {
|
||||||
ui->logText->hide();
|
ui->logText->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pref.Exists("NoonDateSplit")) pref["NoonDateSplit"]=false;
|
if (!pref.Exists("NoonDateSplit")) pref["NoonDateSplit"]=false;
|
||||||
else ui->action_Noon_Date_Split->setChecked(pref["NoonDateSplit"].toBool());
|
ui->action_Noon_Date_Split->setChecked(pref["NoonDateSplit"].toBool());
|
||||||
|
|
||||||
if (!pref.Exists("fruitsalad")) pref["fruitsalad"]=true;
|
if (!pref.Exists("fruitsalad")) pref["fruitsalad"]=true;
|
||||||
|
|
||||||
if (!pref.Exists("UseAntiAliasing")) pref["UseAntiAliasing"]=false;
|
if (!pref.Exists("UseAntiAliasing")) pref["UseAntiAliasing"]=false;
|
||||||
else ui->actionUse_AntiAliasing->setChecked(pref["UseAntiAliasing"].toBool());
|
ui->actionUse_AntiAliasing->setChecked(pref["UseAntiAliasing"].toBool());
|
||||||
first_load=true;
|
first_load=true;
|
||||||
|
|
||||||
if (!pref.Exists("AlwaysShowOverlayBars")) pref["AlwaysShowOverlayBars"]=true;
|
if (!pref.Exists("AlwaysShowOverlayBars")) pref["AlwaysShowOverlayBars"]=true;
|
||||||
else ui->actionOverlay_Bars->setChecked(pref["AlwaysShowOverlayBars"].toBool());
|
ui->actionOverlay_Bars->setChecked(pref["AlwaysShowOverlayBars"].toBool());
|
||||||
|
|
||||||
daily=new Daily(ui->tabWidget);
|
daily=new Daily(ui->tabWidget);
|
||||||
ui->tabWidget->insertTab(1,daily,tr("Daily"));
|
ui->tabWidget->insertTab(1,daily,tr("Daily"));
|
||||||
|
Loading…
Reference in New Issue
Block a user