From 2913431468592f88b70c7b63a1a8ad330a3a6160 Mon Sep 17 00:00:00 2001 From: Kumar-laxmi Date: Mon, 26 Feb 2024 11:12:53 +0530 Subject: [PATCH] Heart Buttons configured with graph --- .../elements/Scripts/footerButtons.html | 8 +- db.sqlite3 | Bin 262144 -> 262144 bytes test.py | 89 +----------------- 3 files changed, 5 insertions(+), 92 deletions(-) diff --git a/app/templates/elements/Scripts/footerButtons.html b/app/templates/elements/Scripts/footerButtons.html index afd5c9f0b..4873a89c9 100644 --- a/app/templates/elements/Scripts/footerButtons.html +++ b/app/templates/elements/Scripts/footerButtons.html @@ -6,10 +6,10 @@ // Heart Buttons var mitral_buttons = ["normal_heart_sound_mitral_valve","split_first_heart_sound_mitral_valve","split_second_heart_sound_mitral_valve","third_heart_sound_mitral_valve","fourth_heart_sound_mitral_valve","functional_murmur_sound_mitral_valve","diastolic_murmur_sound_mitral_valve","opening_snap_sound_mitral_valve","holosystolic_murmur_sound_mitral_valve","early_systolic_murmur_sound_mitral_valve","mid_systolic_murmur_sound_mitral_valve","continuous_murmur_sound_mitral_valve","austin_flint_murmur_sound_mitral_valve","pericardial_rub_sound_mitral_valve","graham_steell_murmur_sound_mitral_valve","aortic_valve_regurgitation_sound_mitral_valve","aortic_valve_stenosis_sound_mitral_valve","aortic_valve_stenosis_regurgitation_sound_mitral_valve","congenital_aortic_stenosis_sound_mitral_valve","mitral_valve_regurgitation_sound_mitral_valve","mitral_valve_stenosis_sound_mitral_valve","mitral_valve_prolapse_sound_mitral_valve","mitral_stenosis_regurgitation_sound_mitral_valve","mitral_stenosis_tricuspid_regurgitation_sound_mitral_valve","pulmonary_valve_stenosis_sound_mitral_valve","pulmonary_valve_regurgitation_sound_mitral_valve","tricuspid_valve_regurgitation_sound_mitral_valve","coarctation_of_the_aorta_sound_mitral_valve","hypertrophic_cardiomyopathy_sound_mitral_valve","patent_ductus_arteriosus_sound_mitral_valve","atrial_septal_defect_sound_mitral_valve","ventricular_septal_defect_sound_mitral_valve","acute_myocardial_infarction_sound_mitral_valve","congestive_heart_failure_sound_mitral_valve","systemic_hypertension_sound_mitral_valve","acute_pericarditis_sound_mitral_valve","dilated_cardiomyopathy_sound_mitral_valve","pulmonary_hypertension_sound_mitral_valve","tetralogy_of_fallot_sound_mitral_valve","ventricular_aneurysm_sound_mitral_valve","ebstein_anomaly_sound_mitral_valve"]; - var aortic_buttons = ["normal_heart_sound_aortic_valve"]; - var pulmonary_buttons = ["normal_heart_sound_pulmonary_valve"]; - var tricuspid_buttons = ["normal_heart_sound_tricuspid_valve"]; - var erb_buttons = ["normal_heart_sound_erb_point"]; + var aortic_buttons = ["normal_heart_sound_aortic_valve","split_first_heart_sound_aortic_valve","split_second_heart_sound_aortic_valve","third_heart_sound_aortic_valve","fourth_heart_sound_aortic_valve","functional_murmur_sound_aortic_valve","diastolic_murmur_sound_aortic_valve","opening_snap_sound_aortic_valve","holosystolic_murmur_sound_aortic_valve","early_systolic_murmur_sound_aortic_valve","mid_systolic_murmur_sound_aortic_valve","continuous_murmur_sound_aortic_valve","austin_flint_murmur_sound_aortic_valve","pericardial_rub_sound_aortic_valve","graham_steell_murmur_sound_aortic_valve","aortic_valve_regurgitation_sound_aortic_valve","aortic_valve_stenosis_sound_aortic_valve","aortic_valve_stenosis_regurgitation_sound_aortic_valve","congenital_aortic_stenosis_sound_aortic_valve","aortic_valve_regurgitation_sound_aortic_valve","aortic_valve_stenosis_sound_aortic_valve","aortic_valve_prolapse_sound_aortic_valve","aortic_stenosis_regurgitation_sound_aortic_valve","aortic_stenosis_tricuspid_regurgitation_sound_aortic_valve","pulmonary_valve_stenosis_sound_aortic_valve","pulmonary_valve_regurgitation_sound_aortic_valve","tricuspid_valve_regurgitation_sound_aortic_valve","coarctation_of_the_aorta_sound_aortic_valve","hypertrophic_cardiomyopathy_sound_aortic_valve","patent_ductus_arteriosus_sound_aortic_valve","atrial_septal_defect_sound_aortic_valve","ventricular_septal_defect_sound_aortic_valve","acute_myocardial_infarction_sound_aortic_valve","congestive_heart_failure_sound_aortic_valve","systemic_hypertension_sound_aortic_valve","acute_pericarditis_sound_aortic_valve","dilated_cardiomyopathy_sound_aortic_valve","pulmonary_hypertension_sound_aortic_valve","tetralogy_of_fallot_sound_aortic_valve","ventricular_aneurysm_sound_aortic_valve","ebstein_anomaly_sound_aortic_valve"]; + var pulmonary_buttons = ["normal_heart_sound_pulmonary_valve","split_first_heart_sound_pulmonary_valve","split_second_heart_sound_pulmonary_valve","third_heart_sound_pulmonary_valve","fourth_heart_sound_pulmonary_valve","functional_murmur_sound_pulmonary_valve","diastolic_murmur_sound_pulmonary_valve","opening_snap_sound_pulmonary_valve","holosystolic_murmur_sound_pulmonary_valve","early_systolic_murmur_sound_pulmonary_valve","mid_systolic_murmur_sound_pulmonary_valve","continuous_murmur_sound_pulmonary_valve","austin_flint_murmur_sound_pulmonary_valve","pericardial_rub_sound_pulmonary_valve","graham_steell_murmur_sound_pulmonary_valve","pulmonary_valve_regurgitation_sound_pulmonary_valve","pulmonary_valve_stenosis_sound_pulmonary_valve","pulmonary_valve_stenosis_regurgitation_sound_pulmonary_valve","congenital_pulmonary_stenosis_sound_pulmonary_valve","pulmonary_valve_regurgitation_sound_pulmonary_valve","pulmonary_valve_stenosis_sound_pulmonary_valve","pulmonary_valve_prolapse_sound_pulmonary_valve","pulmonary_stenosis_regurgitation_sound_pulmonary_valve","pulmonary_stenosis_tricuspid_regurgitation_sound_pulmonary_valve","pulmonary_valve_stenosis_sound_pulmonary_valve","pulmonary_valve_regurgitation_sound_pulmonary_valve","tricuspid_valve_regurgitation_sound_pulmonary_valve","coarctation_of_the_aorta_sound_pulmonary_valve","hypertrophic_cardiomyopathy_sound_pulmonary_valve","patent_ductus_arteriosus_sound_pulmonary_valve","atrial_septal_defect_sound_pulmonary_valve","ventricular_septal_defect_sound_pulmonary_valve","acute_myocardial_infarction_sound_pulmonary_valve","congestive_heart_failure_sound_pulmonary_valve","systemic_hypertension_sound_pulmonary_valve","acute_pericarditis_sound_pulmonary_valve","dilated_cardiomyopathy_sound_pulmonary_valve","pulmonary_hypertension_sound_pulmonary_valve","tetralogy_of_fallot_sound_pulmonary_valve","ventricular_aneurysm_sound_pulmonary_valve","ebstein_anomaly_sound_pulmonary_valve"]; + var tricuspid_buttons = ["normal_heart_sound_tricuspid_valve","split_first_heart_sound_tricuspid_valve","split_second_heart_sound_tricuspid_valve","third_heart_sound_tricuspid_valve","fourth_heart_sound_tricuspid_valve","functional_murmur_sound_tricuspid_valve","diastolic_murmur_sound_tricuspid_valve","opening_snap_sound_tricuspid_valve","holosystolic_murmur_sound_tricuspid_valve","early_systolic_murmur_sound_tricuspid_valve","mid_systolic_murmur_sound_tricuspid_valve","continuous_murmur_sound_tricuspid_valve","austin_flint_murmur_sound_tricuspid_valve","pericardial_rub_sound_tricuspid_valve","graham_steell_murmur_sound_tricuspid_valve","tricuspid_valve_regurgitation_sound_tricuspid_valve","tricuspid_valve_stenosis_sound_tricuspid_valve","tricuspid_valve_stenosis_regurgitation_sound_tricuspid_valve","congenital_tricuspid_stenosis_sound_tricuspid_valve","tricuspid_valve_regurgitation_sound_tricuspid_valve","tricuspid_valve_stenosis_sound_tricuspid_valve","tricuspid_valve_prolapse_sound_tricuspid_valve","tricuspid_stenosis_regurgitation_sound_tricuspid_valve","tricuspid_stenosis_tricuspid_regurgitation_sound_tricuspid_valve","tricuspid_valve_stenosis_sound_tricuspid_valve","tricuspid_valve_regurgitation_sound_tricuspid_valve","tricuspid_valve_regurgitation_sound_tricuspid_valve","coarctation_of_the_aorta_sound_tricuspid_valve","hypertrophic_cardiomyopathy_sound_tricuspid_valve","patent_ductus_arteriosus_sound_tricuspid_valve","atrial_septal_defect_sound_tricuspid_valve","ventricular_septal_defect_sound_tricuspid_valve","acute_myocardial_infarction_sound_tricuspid_valve","congestive_heart_failure_sound_tricuspid_valve","systemic_hypertension_sound_tricuspid_valve","acute_pericarditis_sound_tricuspid_valve","dilated_cardiomyopathy_sound_tricuspid_valve","tricuspid_hypertension_sound_tricuspid_valve","tetralogy_of_fallot_sound_tricuspid_valve","ventricular_aneurysm_sound_tricuspid_valve","ebstein_anomaly_sound_tricuspid_valve"]; + var erb_buttons = ["normal_heart_sound_erb_point","split_first_heart_sound_erb_point","split_second_heart_sound_erb_point","third_heart_sound_erb_point","fourth_heart_sound_erb_point","functional_murmur_sound_erb_point","diastolic_murmur_sound_erb_point","opening_snap_sound_erb_point","holosystolic_murmur_sound_erb_point","early_systolic_murmur_sound_erb_point","mid_systolic_murmur_sound_erb_point","continuous_murmur_sound_erb_point","austin_flint_murmur_sound_erb_point","pericardial_rub_sound_erb_point","graham_steell_murmur_sound_erb_point","erb_point_regurgitation_sound_erb_point","erb_point_stenosis_sound_erb_point","erb_point_stenosis_regurgitation_sound_erb_point","congenital_tricuspid_stenosis_sound_erb_point","erb_point_regurgitation_sound_erb_point","erb_point_stenosis_sound_erb_point","erb_point_prolapse_sound_erb_point","tricuspid_stenosis_regurgitation_sound_erb_point","tricuspid_stenosis_tricuspid_regurgitation_sound_erb_point","erb_point_stenosis_sound_erb_point","erb_point_regurgitation_sound_erb_point","erb_point_regurgitation_sound_erb_point","coarctation_of_the_aorta_sound_erb_point","hypertrophic_cardiomyopathy_sound_erb_point","patent_ductus_arteriosus_sound_erb_point","atrial_septal_defect_sound_erb_point","ventricular_septal_defect_sound_erb_point","acute_myocardial_infarction_sound_erb_point","congestive_heart_failure_sound_erb_point","systemic_hypertension_sound_erb_point","acute_pericarditis_sound_erb_point","dilated_cardiomyopathy_sound_erb_point","tricuspid_hypertension_sound_erb_point","tetralogy_of_fallot_sound_erb_point","ventricular_aneurysm_sound_erb_point","ebstein_anomaly_sound_erb_point"]; // Default Divs var currentDiv = document.getElementById("hbr_div"); diff --git a/db.sqlite3 b/db.sqlite3 index e48a06d260bffa50d9551e94d3733b169d466836..39195fa52c1c0b26fa189f89adec957ab4881452 100644 GIT binary patch delta 127 zcmZo@5NK!+m>|u#W}=KU44UBaS4HXPbtqcvUOic7FEzQl$Et@uM+rap4 PzYwNOTLIIu0_F(-cQYrt delta 127 zcmZo@5NK!+m>|sYf**m|#&;0%AOB=fYSY%>#6%PN=rl;9!{^MOt<)` z3UlW)lN5i06i3Sp-^iqNANOJ-10xe%17lqS3k5?1D1 PFN7)6R=~8ZfO!G{^O7bT diff --git a/test.py b/test.py index f0719982b..ddd14d3e7 100644 --- a/test.py +++ b/test.py @@ -1,88 +1 @@ -import dash -from dash import dcc, html -from dash.dependencies import Input, Output, State -from pydub import AudioSegment -from django_plotly_dash import DjangoDash -import numpy as np -import time - -app = dash.Dash(__name__) - -# Define a function to load audio data and duration -def loadAudioData(audioPath): - audio = AudioSegment.from_file(audioPath) - audio_data = np.array(audio.get_array_of_samples()) - audio_duration = len(audio_data) / audio.frame_rate - subsampling_factor = 1 - audio_data = audio_data[::subsampling_factor] - - target_duration = 0.877 - num_repeats = 1 - audio_data = np.tile(audio_data, num_repeats) - sample_rate = 44100 - duration = len(audio_data) / sample_rate - - return {'audio_data': audio_data.tolist(), 'audio_duration': duration} - -# Layout of the app -app.layout = html.Div([ - dcc.Input(id='audio-path-input',type='text',placeholder='Enter audio path...',style={'display':'none'}), - dcc.Graph(id='animated-audio-chart', style={'height': '95vh'}, config={'responsive': True}), - dcc.Store(id='audio-data-store', data={'audio_data': [], 'audio_duration': 0}), - dcc.Store(id='interval-store', data=time.time()), # Store the start time and set default heart rate to 60 - dcc.Interval(id='interval-component', interval=25, n_intervals=0) # Interval in milliseconds -]) - -# Clientside callback to update the graph -app.clientside_callback( - """ - function(n, audioData, startTime) { - // Get the audio data and duration from the stored data - var audioArray = audioData['audio_data']; - var audioDuration = audioData['audio_duration']; - var heartRate = 60 - - // Calculate the time passed since the start - var currentTime = new Date().getTime() / 1000; // Convert milliseconds to seconds - var elapsedTime = currentTime - startTime; - - // Calculate the position of the vertical line - var timePerBeat = 60 / heartRate; - var linePosition = Math.floor((elapsedTime % timePerBeat) * audioArray.length / timePerBeat); - - // Create the figure - var figure = { - data: [ - {y: audioArray, type: 'line', name: 'HBR Signal', line: {color: 'green'}}, - {x: [linePosition, linePosition], y: [Math.min.apply(null, audioArray), Math.max.apply(null, audioArray)], mode: 'lines', line: {color: 'black', width: 10}} - ], - layout: { - showlegend: false, - paper_bgcolor: 'black', // Set background color to black - plot_bgcolor: 'black' // Set plot background color to black - } - }; - - // Return the updated figure, startTime, and heartRate - return [figure, startTime]; - } - """, - Output('animated-audio-chart', 'figure'), - Output('interval-store', 'data'), - Input('interval-component', 'n_intervals'), - State('audio-data-store', 'data'), - State('interval-store', 'data'), - prevent_initial_call=True -) - -# Callback to load audio data when the input changes -@app.callback( - Output('audio-data-store', 'data'), - Input('audio-path-input', 'value') -) -def update_audio_path(audioPath): - input_string = 'app/static/audio/heart/normal_heart/E/combined_audio.wav' - return loadAudioData(input_string) - -if __name__ == '__main__': - app.run_server(debug=True) +"normal_heart_sound_pulmonary_valve","split_first_heart_sound_pulmonary_valve","split_second_heart_sound_pulmonary_valve","third_heart_sound_pulmonary_valve","fourth_heart_sound_pulmonary_valve","functional_murmur_sound_pulmonary_valve","diastolic_murmur_sound_pulmonary_valve","opening_snap_sound_pulmonary_valve","holosystolic_murmur_sound_pulmonary_valve","early_systolic_murmur_sound_pulmonary_valve","mid_systolic_murmur_sound_pulmonary_valve","continuous_murmur_sound_pulmonary_valve","austin_flint_murmur_sound_pulmonary_valve","pericardial_rub_sound_pulmonary_valve","graham_steell_murmur_sound_pulmonary_valve","pulmonary_valve_regurgitation_sound_pulmonary_valve","pulmonary_valve_stenosis_sound_pulmonary_valve","pulmonary_valve_stenosis_regurgitation_sound_pulmonary_valve","congenital_pulmonary_stenosis_sound_pulmonary_valve","pulmonary_valve_regurgitation_sound_pulmonary_valve","pulmonary_valve_stenosis_sound_pulmonary_valve","pulmonary_valve_prolapse_sound_pulmonary_valve","pulmonary_stenosis_regurgitation_sound_pulmonary_valve","pulmonary_stenosis_tricuspid_regurgitation_sound_pulmonary_valve","pulmonary_valve_stenosis_sound_pulmonary_valve","pulmonary_valve_regurgitation_sound_pulmonary_valve","tricuspid_valve_regurgitation_sound_pulmonary_valve","coarctation_of_the_aorta_sound_pulmonary_valve","hypertrophic_cardiomyopathy_sound_pulmonary_valve","patent_ductus_arteriosus_sound_pulmonary_valve","atrial_septal_defect_sound_pulmonary_valve","ventricular_septal_defect_sound_pulmonary_valve","acute_myocardial_infarction_sound_pulmonary_valve","congestive_heart_failure_sound_pulmonary_valve","systemic_hypertension_sound_pulmonary_valve","acute_pericarditis_sound_pulmonary_valve","dilated_cardiomyopathy_sound_pulmonary_valve","pulmonary_hypertension_sound_pulmonary_valve","tetralogy_of_fallot_sound_pulmonary_valve","ventricular_aneurysm_sound_pulmonary_valve","ebstein_anomaly_sound_pulmonary_valve"