From afde775b172c44d22851c46384b112dec72df193 Mon Sep 17 00:00:00 2001 From: tyler Date: Sun, 28 Jun 2026 17:17:35 -0700 Subject: [PATCH] almost done 1.5.0 --- changelog.md | 6 ++- changelog_major.md | 61 +++++++------------------ main.py | 2 +- src/analysis/participantfoldchannels.py | 13 +++++- 4 files changed, 33 insertions(+), 49 deletions(-) diff --git a/changelog.md b/changelog.md index 6763373..c2f7ed9 100644 --- a/changelog.md +++ b/changelog.md @@ -1,16 +1,18 @@ # Version 1.5.0 - This release introduces a new configuration file that may break existing installs. If your application does not update correctly, please download fresh from [this link.](https://git.research.dezeeuw.ca/tyler/flares/releases/) +- This release features an almost complete rewrite of backend files. If you encounter any problems, please raise an issue at [this link.](https://git.research.dezeeuw.ca/tyler/flares/issues/new) - New configuration file has been added! Now your choices of preferences will be saved when the application is closed and re-opened. If the configuration file is missing, a new one will be generated -- The new option "Reset to Default Configuration" will reset the configuration file to it's default values - Recent files and recent projects are now saved and appear under the File menu for quick resuming -- A welcome dialog will now display the changelog after every update. This popup will only appear once but can be reopened under the Options menu through "Show Update Changelog" +- The new option "Reset to Default Configuration" under the Options menu will reset the configuration file back to it's default values and remove any recent files +- A welcome dialog will now display the changelog on first startup and after every update. This popup will only appear once but can be reopened under the Options menu through the button "Show Update Changelog" - Changed the hotkey for "Update optodes in snirf file..." to be F9 instead of F6 - Revamped the fOLD channels window. Images containing the pie charts are now interactable! Click whitespace to expand the whole image and click a chart to expand it. - fOLD progress bar when processing now updates the percentages live. Fixes [Issue 76](https://git.research.dezeeuw.ca/tyler/flares/issues/76) - Overall pie charts on an individal and global basis are now genereted. Fixes [Issue 78](https://git.research.dezeeuw.ca/tyler/flares/issues/78) - Brodmann images are now available when examining a pie chart to understand which area is being reported. Fixes [Issue 77](https://git.research.dezeeuw.ca/tyler/flares/issues/77) - Added a new option 'Folding Bypass' to the Preferences Menu. This skips most processing steps and the only analysis option available will be to fold. Parameters on the right will be ignored. Fixes [Issue 75](https://git.research.dezeeuw.ca/tyler/flares/issues/75) +- Fixed an issue where the fOLD analysis progress window would go unresponsive before processing participants. Fixes [Issue 45](https://git.research.dezeeuw.ca/tyler/flares/issues/45), Fixes [Issue 34](https://git.research.dezeeuw.ca/tyler/flares/issues/34) - Added a feature to hover over the 28 stage progress bar and see which state the progress bar is at. Fixes [Issue 74](https://git.research.dezeeuw.ca/tyler/flares/issues/74) - Loading a broken snirf file no longer hangs its processing and can now be removed from the list. Fixes [Issue 73](https://git.research.dezeeuw.ca/tyler/flares/issues/73) diff --git a/changelog_major.md b/changelog_major.md index 060617d..7081060 100644 --- a/changelog_major.md +++ b/changelog_major.md @@ -1,46 +1,17 @@ -# Version 1.4.3 +# Version 1.5.0 -- Fixed an issue where the fOLD files could not be located -- Added better support for updating events from external software - - -# Version 1.4.2 - -- Fixed AGE, GENDER, GROUP not visually appearing on a bubble after the metadata has been set. Fixes [Issue 42](https://git.research.dezeeuw.ca/tyler/flares/issues/42) -- Fixed first stage of progress bar going yellow after loading from an unprocessed save -- Fixed AGE, GENDER, GROUP not visually appearing on a bubble when loading from a save -- Group images involving an optode template will now be the average of all participants selected in the group and not the last processed participant. Fixes [Issue 62](https://git.research.dezeeuw.ca/tyler/flares/issues/62) -- Group images will no longer crash if being made with participants that have a different number of channels -- Changed CSV files to now save to the same folder rather than asking each time for each file. Fixes [Issue 39](https://git.research.dezeeuw.ca/tyler/flares/issues/39) - - -# Version 1.4.1 - -- Hotfix to fix a recursive child loop that would cause the MacOS version to not open - - -# Version 1.4.0 - -- This is potentially a save-changing release due to changes in how file paths and parameters are stored. Please update your project files to ensure compatibility -- It is still possible to load older saves by enabling 'Incompatible Save Bypass' from the Preferences menu, but your mileage may vary -- AGE, GENDER, GROUP, loaded files, and all the parameters on the right side of the screen can now be saved before any data has been processed -- If processing has not been completed, the process button will be visible. If processing has completed, the analysis button will be visible -- If the values fail to load, they will fallback to the previous logic of retreiving these values after processing has occured. Fixes [Issue 66](https://git.research.dezeeuw.ca/tyler/flares/issues/66) -- Added new parameters to the right side of the screen: MAX_SHIFT, T_MIN, T_MAX, MAX_BAD_CHANNELS. Fixes [Issue 69](https://git.research.dezeeuw.ca/tyler/flares/issues/69) -- Participants that are bad on channels will no longer continue to the GLM stage. Fixes [Issue 18](https://git.research.dezeeuw.ca/tyler/flares/issues/18) -- Added new sections to the right side of the screen to mark bad channels: Cross Validation, Median Absolute Deviation, PSD Noise, & Channel Variance -- These sections come with the new parameters CV, CV_THRESHOLD, MAD, MAD_THRESHOLD, PSD_NOISE, TARGET_FREQ_DIV, DB_LIMIT, CHANNEL_VAR, & CHANNEL_THRESH -- Changed number of rectangles in the progress bar to 28 to account for the new options and updated the User Guide with the new stages -- Added feedback when clicking an analysis option that opens up a new window. Fixes [Issue 20](https://git.research.dezeeuw.ca/tyler/flares/issues/20) -- Fixed an issue where projects can not be saved to a different drive letter on windows. Fixes [Issue 71](https://git.research.dezeeuw.ca/tyler/flares/issues/71) -- Fixed an issue where the fOLD files were not included in the Windows version. Fixes [Issue 60](https://git.research.dezeeuw.ca/tyler/flares/issues/60) -- Fixed an issue where the MacOS version would fail to perform some analysis options. Fixes [Issue 63](https://git.research.dezeeuw.ca/tyler/flares/issues/63) -- Fixed an issue where processing too many participants would cause the analysis button to not appear. Fixes [Issue 61](https://git.research.dezeeuw.ca/tyler/flares/issues/61) -- Fixed an issue where the error message when a participant fails would not appear. Fixes [Issue 68](https://git.research.dezeeuw.ca/tyler/flares/issues/68) -- Fixed an issue where changes would not be saved if a project was originally loaded from a save. Fixes [Issue 44](https://git.research.dezeeuw.ca/tyler/flares/issues/44) -- Fixed an issue where the significance image would be empty in the Inter-Group Viewer if only one participant was selected. Fixes [Issue 32](https://git.research.dezeeuw.ca/tyler/flares/issues/32) -- Fixed an issue where pressing the 'Clear' button after loading a save would cause the application to crash. Fixes [Issue 67](https://git.research.dezeeuw.ca/tyler/flares/issues/67) -- Fixed an issue where group dropdowns in the Cross-Group viewer would not be updated correctly based on the other groups selected value. Fixes [Issue 49](https://git.research.dezeeuw.ca/tyler/flares/issues/49) -- Fixed an issue where scrollbars were still present after clearing all data. Fixes [Issue 70](https://git.research.dezeeuw.ca/tyler/flares/issues/70) -- Fixed an issue where 'Missing Events Bypass' did not work on the Cross-Group viewer. Fixes [Issue 64](https://git.research.dezeeuw.ca/tyler/flares/issues/64) -- Fixed an issue where bubbles loaded from a save would not resize correctly. Fixes [Issue 14](https://git.research.dezeeuw.ca/tyler/flares/issues/14) +- This release introduces a new configuration file that may break existing installs. If your application does not update correctly, please download fresh from [this link.](https://git.research.dezeeuw.ca/tyler/flares/releases/) +- This release features an almost complete rewrite of backend files. If you encounter any problems, please raise an issue at [this link.](https://git.research.dezeeuw.ca/tyler/flares/issues/new) +- New configuration file has been added! Now your choices of preferences will be saved when the application is closed and re-opened. If the configuration file is missing, a new one will be generated +- Recent files and recent projects are now saved and appear under the File menu for quick resuming +- The new option "Reset to Default Configuration" under the Options menu will reset the configuration file back to it's default values and remove any recent files +- A welcome dialog will now display the changelog on first startup and after every update. This popup will only appear once but can be reopened under the Options menu through the button "Show Update Changelog" +- Changed the hotkey for "Update optodes in snirf file..." to be F9 instead of F6 +- Revamped the fOLD channels window. Images containing the pie charts are now interactable! Click whitespace to expand the whole image and click a chart to expand it. +- fOLD progress bar when processing now updates the percentages live. Fixes [Issue 76](https://git.research.dezeeuw.ca/tyler/flares/issues/76) +- Overall pie charts on an individal and global basis are now genereted. Fixes [Issue 78](https://git.research.dezeeuw.ca/tyler/flares/issues/78) +- Brodmann images are now available when examining a pie chart to understand which area is being reported. Fixes [Issue 77](https://git.research.dezeeuw.ca/tyler/flares/issues/77) +- Added a new option 'Folding Bypass' to the Preferences Menu. This skips most processing steps and the only analysis option available will be to fold. Parameters on the right will be ignored. Fixes [Issue 75](https://git.research.dezeeuw.ca/tyler/flares/issues/75) +- Fixed an issue where the fOLD analysis progress window would go unresponsive before processing participants. Fixes [Issue 45](https://git.research.dezeeuw.ca/tyler/flares/issues/45), Fixes [Issue 34](https://git.research.dezeeuw.ca/tyler/flares/issues/34) +- Added a feature to hover over the 28 stage progress bar and see which state the progress bar is at. Fixes [Issue 74](https://git.research.dezeeuw.ca/tyler/flares/issues/74) +- Loading a broken snirf file no longer hangs its processing and can now be removed from the list. Fixes [Issue 73](https://git.research.dezeeuw.ca/tyler/flares/issues/73) diff --git a/main.py b/main.py index 534e4a8..ec31065 100644 --- a/main.py +++ b/main.py @@ -62,7 +62,7 @@ left_bottom = 0 right = 0 [Options] -show_welcome_dialog = true +show_welcome_dialog = false first_startup = true [Preferences] diff --git a/src/analysis/participantfoldchannels.py b/src/analysis/participantfoldchannels.py index 331cd38..26ba682 100644 --- a/src/analysis/participantfoldchannels.py +++ b/src/analysis/participantfoldchannels.py @@ -34,6 +34,7 @@ class MultiProgressDialog(QDialog): self.setWindowModality(Qt.WindowModality.NonModal) self.layout = QVBoxLayout(self) self.bars = {} + self.allow_closing = False def add_participant(self, label, total_steps): clean_key = str(label).strip() @@ -51,6 +52,16 @@ class MultiProgressDialog(QDialog): if label in self.bars: # Force integers to prevent QProgressBar from breaking or flickering self.bars[label].setValue(int(value)) + + def closeEvent(self, event): + if self.allow_closing: + event.accept() + else: + event.ignore() + + def force_close(self): + self.allow_closing = True + self.close() @@ -945,7 +956,7 @@ class ParticipantFoldChannelsWidget(FlaresBaseWidget): # Close the custom multi-progress window if hasattr(self, 'multi_progress'): - self.multi_progress.close() + self.multi_progress.force_close() # Clean up processes for p in self.active_processes: