mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-05 18:50:44 +00:00
Normalizing the value of Press, IPAP and EPAP events. This fix the out of band exception in minutes at pressure graph.
This commit is contained in:
parent
521d84a8c5
commit
ea70c75799
@ -61,6 +61,7 @@ constexpr int kDescriptionHeaderSize = 0x20;
|
|||||||
constexpr int kChunkDurationInSecOffset = 0x10;
|
constexpr int kChunkDurationInSecOffset = 0x10;
|
||||||
constexpr int kDescriptionCountOffset = 0x12;
|
constexpr int kDescriptionCountOffset = 0x12;
|
||||||
constexpr int kDescriptionSamplesByChunk = 0x1e;
|
constexpr int kDescriptionSamplesByChunk = 0x1e;
|
||||||
|
constexpr double kDefaultGain = 0.01;
|
||||||
|
|
||||||
bool ResventLoader::Detect(const QString & givenpath)
|
bool ResventLoader::Detect(const QString & givenpath)
|
||||||
{
|
{
|
||||||
@ -278,13 +279,13 @@ struct WaveFileData {
|
|||||||
|
|
||||||
EventList* GetEventList(const QString& name, Session* session, float sample_rate = 0.0) {
|
EventList* GetEventList(const QString& name, Session* session, float sample_rate = 0.0) {
|
||||||
if (name == "Press") {
|
if (name == "Press") {
|
||||||
return nullptr;//session->AddEventList(CPAP_Pressure, EVL_Event);
|
return session->AddEventList(CPAP_Pressure, EVL_Event);
|
||||||
}
|
}
|
||||||
else if (name == "IPAP") {
|
else if (name == "IPAP") {
|
||||||
return nullptr;//session->AddEventList(CPAP_IPAP, EVL_Event);
|
return session->AddEventList(CPAP_IPAP, EVL_Event);
|
||||||
}
|
}
|
||||||
else if (name == "EPAP") {
|
else if (name == "EPAP") {
|
||||||
return nullptr;//session->AddEventList(CPAP_EPAP, EVL_Event);
|
return session->AddEventList(CPAP_EPAP, EVL_Event);
|
||||||
}
|
}
|
||||||
else if (name == "Leak") {
|
else if (name == "Leak") {
|
||||||
return session->AddEventList(CPAP_Leak, EVL_Event);
|
return session->AddEventList(CPAP_Leak, EVL_Event);
|
||||||
@ -309,10 +310,10 @@ EventList* GetEventList(const QString& name, Session* session, float sample_rate
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
else if (name == "Pressure") {
|
else if (name == "Pressure") {
|
||||||
return session->AddEventList(CPAP_MaskPressure, EVL_Waveform, 0.01, 0.0, 0.0, 0.0, 1000.0 / sample_rate);
|
return session->AddEventList(CPAP_MaskPressure, EVL_Waveform, kDefaultGain, 0.0, 0.0, 0.0, 1000.0 / sample_rate);
|
||||||
}
|
}
|
||||||
else if (name == "Flow") {
|
else if (name == "Flow") {
|
||||||
return session->AddEventList(CPAP_FlowRate, EVL_Waveform, 0.01, 0.0, 0.0, 0.0, 1000.0 / sample_rate);
|
return session->AddEventList(CPAP_FlowRate, EVL_Waveform, kDefaultGain, 0.0, 0.0, 0.0, 1000.0 / sample_rate);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Not supported
|
// Not supported
|
||||||
@ -397,7 +398,7 @@ void LoadOtherWaveForms(const QString& session_folder_path, Session* session, co
|
|||||||
|
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
std::for_each(chunk.cbegin(), chunk.cend(), [&](const qint16& value){
|
std::for_each(chunk.cbegin(), chunk.cend(), [&](const qint16& value){
|
||||||
wave_form->AddEvent(start_time_current + offset + kDateTimeOffset, value);
|
wave_form->AddEvent(start_time_current + offset + kDateTimeOffset, value * kDefaultGain);
|
||||||
offset += 1000.0 / sample_rate;
|
offset += 1000.0 / sample_rate;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -417,7 +418,7 @@ void LoadOtherWaveForms(const QString& session_folder_path, Session* session, co
|
|||||||
if (wave_form.event_list) {
|
if (wave_form.event_list) {
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
std::for_each(chunk.cbegin(), chunk.cend(), [&](const qint16& value){
|
std::for_each(chunk.cbegin(), chunk.cend(), [&](const qint16& value){
|
||||||
wave_form.event_list->AddEvent(wave_form.start_time + offset + kDateTimeOffset, value);
|
wave_form.event_list->AddEvent(wave_form.start_time + offset + kDateTimeOffset, value * kDefaultGain);
|
||||||
offset += 1000.0 / wave_form.sample_rate;
|
offset += 1000.0 / wave_form.sample_rate;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user