From 1a803371d768afc6ae7bfcaa1a48f7e92f0fd0bb Mon Sep 17 00:00:00 2001 From: LexvanGastel <l.vangastel@studen.utwente.nl> Date: Thu, 3 Apr 2025 11:14:06 +0200 Subject: [PATCH] Text and input --- Q2main.py | 2 +- Q3main.py | 52 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/Q2main.py b/Q2main.py index ee85e4a..479cc66 100644 --- a/Q2main.py +++ b/Q2main.py @@ -48,7 +48,7 @@ class ImageProcessor: return red_mask, yellow_mask, green_mask -def detect_blobs(mask, min_sigma=5, max_sigma=50, num_sigma = 10, threshold=0.5): +def detect_blobs(mask, min_sigma=5, max_sigma=30, num_sigma = 10, threshold=0.2): mask = mask.astype(np.float64) / 255.0 #print('mask made') blobs = blob_log(mask, min_sigma=min_sigma, max_sigma=max_sigma, num_sigma=num_sigma, threshold=threshold) diff --git a/Q3main.py b/Q3main.py index 485bda4..22a504a 100644 --- a/Q3main.py +++ b/Q3main.py @@ -1,27 +1,35 @@ import scipy.io -# Load the .mat file -mat_file = 'emg_data_walking.mat' -data = scipy.io.loadmat(mat_file) +def load_emg_data(file_path): + """ + Laadt EMG-gegevens uit een .mat bestand en retourneert de kanaalnamen. + """ + try: + mat_data = scipy.io.loadmat(file_path) + emg_data = mat_data.get('emg_data_walking') + + if emg_data is None: + raise KeyError("De verwachte variabele 'emg_data_walking' is niet in het bestand aanwezig.") + + channel_names = [ch[0] for ch in emg_data['data_headers'][0][0][0]] + + print("EMG-kanalen:") + for idx, name in enumerate(channel_names): + print(f"{idx}: {name}") + + return channel_names + except Exception as e: + print(f"Fout bij het laden van het EMG-bestand: {e}") + return [] -# Display the keys in the loaded structure -print("Keys in the loaded .mat file:", data.keys()) +file_path = "emg_data_walking.mat" +channel_names = load_emg_data(file_path) -# Analyze the structure of the data (check what is inside the 'data' dictionary) -# This will help you understand what variables are present -for key, value in data.items(): - print(f"Key: {key}, Type: {type(value)}") - print(f"Value shape: {value.shape if hasattr(value, 'shape') else 'N/A'}\n") +# Gekozen spieren met validatie +chosen_muscles = { + 'rectus_femoris': 0, + 'tibialis_anterior': 7 +} -# Now, assuming the EMG channels are contained in a variable called 'emgChannels' -# You will need to adjust the field name depending on the structure of your file -if 'emgChannels' in data: - emg_channels = data['emgChannels'] - - # If 'emgChannels' contains the names, extract and display them - if isinstance(emg_channels, np.ndarray) and emg_channels.ndim == 2: - print("\nEMG Channel Names:") - for channel in emg_channels.flatten(): - print(channel) -else: - print("\n'EMG channels' not found in the data. Please check the structure.") \ No newline at end of file +valid_muscles = {name: idx for name, idx in chosen_muscles.items() if idx < len(channel_names)} +print(f"Gekozen spieren: {valid_muscles}") -- GitLab