72f4303b16📝 docs(README.md): add contributor Pierre PHILIPPE Pierre PHILIPPE contributed to the project by researching and documenting the morphological analysis calculations. This commit adds him to the list of contributors in the README.md file.Djalim Simaila2023-05-31 11:24:20 +0200
1c1a9bac94🐛 fix(data_processing.py): fix variable name for R_max from "Z (en mm)" to "rayon (en mm)" 🐛 fix(data_processing.py): fix formula for R_V_scan to include parentheses for correct order of operations 🐛 fix(output.py): add delta_z parameter to generate_headers function to correctly display the delta_z value in the output file ✨ feat(output.py): add delta_z value to output file headers if add_headers setting is enabled ✨ feat(MainWindow.py): add delta_z value to output file headers if add_headers setting is enabled ✨ feat(DiscreteDataWorker.py): add delta_z value to output file headers if add_headers setting is enabled ✨ feat(RawDataWorker.py): add delta_z value to output file headers if add_headers setting is enabledDjalim Simaila2023-05-31 11:21:37 +0200
1f35730fbd🔖 chore(SettingManager.py): update version to 1.2.2 The version number in SettingManager.py has been updated to 1.2.2. This is a chore commit as it does not introduce any new features or bug fixes, but rather updates the version number to reflect the current state of the code.Djalim Simaila2023-05-26 13:51:37 +0200
f0de315d30🐛 fix(data_processing.py): add missing computation of L in get_advanced_data function ✨ feat(data_processing.py): add raw_data parameter to get_advanced_data function to improve flexibility The L variable was not being computed in the get_advanced_data function, which is necessary for the calculation of the tortuosity. The raw_data parameter was added to the get_advanced_data function to improve flexibility and allow for more advanced calculations to be performed.Djalim Simaila2023-05-26 13:38:18 +0200
3b809b3881📝 docs(README.md): add installation instructions for Windows, Linux, and Mac ✨ feat(README.md): add automated installation scripts for Windows, Linux, and Mac The README file now includes instructions for both manual and automated installation of the program. Automated installation scripts have been added for Windows, Linux, and Mac to simplify the installation process. The scripts install the required dependencies using pip.Djalim Simaila2023-05-22 15:25:07 +0200
16a316eed5📝 docs(README.md): add instructions for generating documentation using Sphinx and readthedocs theme Added instructions for generating documentation using Sphinx and the readthedocs theme. The documentation can be found in the docs/build directory and can be opened by launching the index.html file in a web browser. The instructions include installing the readthedocs theme and running the make html command in the docs directory to generate the documentation.Djalim Simaila2023-05-22 13:33:08 +0200
be673c97aa🚀 feat(docs): add Sphinx documentation to the project The Sphinx documentation has been added to the project. This includes a Makefile, a make.bat file, and a conf.py file in the docs directory. The source directory contains the documentation files in reStructuredText format. The documentation includes an installation guide and an API reference. The utils package has been reorganized to be more modular and easier to document. The documentation can be built using the make html command in the docs directory.Djalim Simaila2023-05-16 14:02:26 +0200
e57d9e9837🎨 style(data_processing.py): fix typo in variable names The variable names σ_〈R〉 and σ_〈R〉^tot were corrected to σ_<R> and σ_<R>^tot respectively to improve consistency with the naming conventions used in the rest of the code.Djalim Simaila2023-05-16 09:59:03 +0200
16750d8400🔍 chore(data_processing.py): add missing variables to the documentation This commit adds missing variables to the documentation of the get_advanced_data function in data_processing.py. The added variables are H, L, l, MI_mR, MI_mH, MI_mr_in, V_scan, R_V_scan, S_V_scan, and HI. This improves the documentation of the function and makes it easier for developers to understand the function's behavior.Djalim Simaila2023-05-12 09:53:56 +0200
70b4e11b62🚀 feat(README.md): add support for .stl file format 🐛 fix(data_processing.py): fix typo in advanced data keys and add R_max to advanced data ✨ feat(MainWindow.py): add support for exporting advanced data to a text file 🎨 style(MainWindow.ui, UI_MainWindow.py): change the display of advanced data labels to use <R> instead of 〈R〉 and σ<R> instead of σ〈R〉 The README.md file now reflects the fact that the tool can now read .stl files. The advanced data keys in data_processing.py have been fixed to use the correct symbols and R_max has been added to the advanced data. The MainWindow.py now allows the user to export the advanced data to a text file. The display of advanced data labels in MainWindow.ui and UI_MainWindow.py has been changed to use <R> instead of 〈Djalim Simaila2023-05-15 13:42:46 +0200
5babe707c6🐛 fix(input.py): add authorised_extensions as a static variable to ScannedObject class ✨ feat(input.py): add support for binary and ascii STL files to ScannedObject class The ScannedObject class now has a static variable called authorised_extensions which contains a list of file extensions that are supported by the class. This improves the readability of the code and makes it easier to maintain. The ScannedObject class now also supports binary and ascii STL files, which increases the flexibility of the class and allows it to handle more file formats.Djalim Simaila2023-05-12 11:17:00 +0200
5a6be4717b🚀 feat(MainWindow.py, PreProcessWorker.py, Settings.py, UI_Settings.py, settings.ui): add support for verticalising scanned objects ✨ feat(Settings.py, UI_Settings.py, settings.ui): add checkbox to enable/disable verticalisation of scanned objects The changes add support for verticalising scanned objects before processing them. A new checkbox has been added to the settings UI to enable/disable this feature.Djalim Simaila2023-05-12 09:44:20 +0200
914d6bb7cb📝 docs(README.md): capitalize the first letter of the title The first letter of the title "Analyse morphologique" was not capitalized, which is inconsistent with the usual capitalization rules for titles.Djalim Simaila2023-05-12 09:13:21 +0200
d64c8dd333🐛 fix(input.py): handle case where faces is None in ScannedObject constructor ✨ feat(input.py): add support for reading .xyz files and raise InvalidFileFormat exception if file format is not supported 🚸 chore(gui): add warning popup when trying to use Mesh3D graph with .xyz file 🚸 chore(gui): refactor MainWindow.check_input_file method to handle .xyz files 🚸 chore(gui): refactor PreProcessWorker to use ScannedObject.from_file method 🚸 chore(math): add check for faces in verticalise function to avoid errors when faces is None The ScannedObject constructor now handles the case where faces is None. Support for reading .xyz files has been added, and an InvalidFileFormat exception is raised if the file format is not supported. A warning popup has been added to the MainWindow when trying to use the Mesh3D graph with a .xyz file. The MainWindow.check_input_file methodDjalim Simaila2023-05-11 15:03:38 +0200
6d03b848d1📝 docs(README.md): improve readability and fix typos This commit improves the readability of the README.md file by fixing typos and grammatical errors. The changes include correcting the capitalization of some words, fixing the spelling of some words, and improving the formatting of the text. The commit also adds instructions for using the 2D and 3D graphs, and adds information for developers, including the variable naming convention, the use of relative imports, and the use of Qt Designer. Finally, the commit adds a contributors section to acknowledge the contributions of the developers who worked on the project.Djalim Simaila2023-05-11 14:01:23 +0200
d1811b99b9📝 docs(README.md): update README with new features and installation instructions The README file has been updated to include a more detailed description of the Analyse Morphologique tool, including its features and capabilities. Additionally, installation and usage instructions have been added to the README file to help users get started with the tool.Djalim Simaila2023-05-11 09:58:03 +0200
6803443385🔖 chore(SettingManager.py): update version to 1.2.0 🔨 refactor(SettingManager.py): reorder authors list and update description The version number has been updated to 1.2.0 to reflect the changes made to the application. The authors list has been reordered and the description has been updated to provide a more detailed explanation of the tool's functionality.Djalim Simaila2023-05-10 16:33:53 +0200
46f914323e🎨 style(UI_MainWindow.py): set x_mean QDoubleSpinBox to read-only The x_mean QDoubleSpinBox is now set to read-only to prevent the user from changing its value.Djalim Simaila2023-05-10 15:55:57 +0200
283930b1b0🎨 style(MainWindow.ui, UI_MainWindow.py): update GUI elements default values The default value of the "show_graph_checkbox" element has been changed from false to true. The "x_mean" element has been set to read-only mode. The "scrollAreaWidgetContents" element has been shifted upwards by 179 pixels to improve the layout. These changes improve the user experience and make the GUI more intuitive.Djalim Simaila2023-05-10 15:54:51 +0200
e1d3ad7a55🔧 refactor(MainWindow.py): move connection of refresh_advanced_metrics button to its own method 🔧 refactor(MainWindow.py): rename process_advanced_data method to process_advanced_metrics to improve semantics 🔧 refactor(AdvancedDataWorker.py): add V_scan parameter to constructor to improve semantics 🔧 refactor(Settings.py): add conditional to set output_file_separator to '\t' if '\\t' is entered The refresh_advanced_metrics button is now connected to its own method to improve readability. The process_advanced_data method has been renamed to process_advanced_metrics to better reflect its purpose. The AdvancedDataWorker constructor now takes a V_scan parameter to improve semantics. The Settings class now has a conditional to set the output_file_separator to '\t' if '\\t' is entered to improve consistency.Djalim Simaila2023-05-10 15:44:52 +0200
aeb8c6ed44🔨 refactor(data_processing.py): rename function parameter to improve semantics The function parameter update_progress_bar has been renamed to progressbar_placeholder to improve the semantics of the function. This change does not affect the functionality of the code.Djalim Simaila2023-05-10 15:43:01 +0200
16f43c2126🔧 chore(data_processing.py): update keys in the dict returned by get_advanced_data function to be more descriptive ✨ feat(MainWindow.py): add functionality to export advanced data to a text file 🚀 feat(MainWindow.py): add button to export advanced data to a text file 🚀 feat(MainWindow.ui): update labels for Volume and Surface to include units The keys in the dict returned by the get_advanced_data function were updated to be more descriptive. The export_advanced_data function was added to the MainWindow class to allow the user to export the advanced data to a text file. A button was added to the GUI to allow the user to export the advanced data. The labels for Volume and Surface were updated to include the units of measurement.Djalim Simaila2023-05-10 09:59:44 +0200
fb2bb6e9ce🐛 fix(data_test.py): change variable name from teta_diffs to theta_diffs to improve semantics ✨ feat(data_processing.py): add function to calculate morphological indicators from discrete data The variable name teta_diffs was changed to theta_diffs to improve semantics. A new function was added to calculate morphological indicators from discrete data. The function calculates Tortuosity, Volume, Surface, Mean radius, Standard deviation of radius, Sigma r tot, MI_l, and MI_p.Djalim Simaila2023-05-09 10:56:43 +0200
4402085620📝 docs(DiscreteDataWorker.py): add docstring to run() method This commit adds a docstring to the run() method in the DiscreteDataWorker class. The docstring explains what the method does, what it calculates, and what it emits. It also mentions that the result is saved in a file located in the output_path. This improves the readability and maintainability of the code.Djalim Simaila2023-05-09 10:54:28 +0200
a0e05be919📝 docs(AdvancedDataWorker.py): update docstrings to reflect changes in the module The name of the module has been changed to AdvancedDataWorker.py to better reflect its functionality. The description has been updated to include the extraction of morphological indicators. The parameters and instance variables have been updated to reflect the change in functionality. The run() method has been updated to include a description of the emitted signal and the keys of the dictionary that is emitted.Djalim Simaila2023-05-09 10:54:06 +0200
8357be8015🔨 refactor(PreProcessWorker.py): rename objpath to obj_path and discretisation_value to delta_z for better readability This commit renames the objpath parameter to obj_path and discretisation_value to delta_z for better readability and consistency with the naming conventions. The function run() has been updated to include a more detailed description of what it does.Djalim Simaila2023-05-09 10:53:45 +0200
a12b42381b📝 docs(RawDataWorker.py): add docstring to run method 🐛 fix(RawDataWorker.py): fix typo in theta key name in the output dict ✨ feat(RawDataWorker.py): save the result of the calculation in a file located in the output_path The run method now has a docstring that explains what it does. The typo in the theta key name in the output dict has been fixed. The result of the calculation is now saved in a file located in the output_path. This improves the functionality of the RawDataWorker class.Djalim Simaila2023-05-09 10:53:21 +0200
dce613fd9e🚀 feat(data_processing.py): add function to calculate advanced data 🚀 feat(MainWindow.py): add support for calculating advanced data in a separate thread 🚀 feat(AdvancedDataWorker.py): add worker to calculate advanced data in a thread The get_advanced_data function was added to calculate advanced data from the discrete data. The process_advanced_data function was added to the MainWindow class to start a thread to calculate the advanced data. The AdvancedDataWorker class was added to calculate the advanced data in a separate thread. This allows the application to be more responsive and not freeze while the advanced data is being calculated.Djalim Simaila2023-05-04 13:28:03 +0200
2c2cae2d25feat: added tabs that shows the calculated values for the layer and the global valuesDjalim Simaila2023-05-04 13:27:37 +0200
8175561250🐛 fix(.gitignore): add test.py to the list of ignored files ✨ feat(data_processing.py): remove deprecated get_discrete_vertices2 method and rename get_discrete_vertices3 to get_discrete_vertices. Simplify get_discrete_vertices method by removing the selection of the discretisation method from the settings and always using the Z0-Zi < DeltaZ method. This improves code readability and maintainability. ✨ feat(input.py): remove deprecated result_file_path and bruteforce_discretization_result attributes from ScannedObject class. Add old_delta, old_discrete, and old_discrete_type attributes to cache the results of the get_discrete_vertices method. This improves performance by avoiding unnecessary recomputations of the discretized vertices. ✨ feat(MainWindow.py): add support for selecting a layer to display discrete graphs for. Add two new graph types: "Coupe de la couche" and "Difference entre le rayon de chaque pointsDjalim Simaila2023-05-03 17:26:11 +0200
78ab03e9d8🎨 chore(gui): add INRAE logo and about window to the GUI ✨ feat(gui): add an about window to the GUI to display information about the software The INRAE logo has been added to the GUI as a resource. An about window has been added to the GUI to display information about the software such as the description, authors, and version. The about window can be accessed via the "A propos de ce logiciel" menu item.Djalim Simaila2023-05-02 14:20:22 +0200
538d339b6a🐛 fix(SettingManager.py): change authors value to a list to match the expected format The authors value was previously a string with multiple authors separated by a comma. The value has been changed to a list of strings to match the expected format.Djalim Simaila2023-05-02 14:17:54 +0200
fc525a0878🔖 chore(SettingManager.py): add version attribute to SettingManager class and update config.yml version if needed The SettingManager class now has a version attribute to keep track of the version of the configuration file. If the version in the configuration file is different from the version in the SettingManager class, the version in the configuration file is updated to match the version in the SettingManager class. This ensures that the configuration file is always up-to-date with the latest version of the application.Djalim Simaila2023-05-02 10:33:56 +0200
bb6f078ec2🐛 fix(MainWindow.py): fix bug where graph settings were not being saved when the number of graphs was changed ✨ feat(MainWindow.py): add functionality to save graph settings when the number of graphs is changed The bug was caused by the fact that the graph settings were not being saved when the number of graphs was changed. This was fixed by adding code to save the graph settings when the number of graphs is changed. The new functionality allows the user to change the number of graphs and have the graph settings saved.Djalim Simaila2023-05-02 10:25:09 +0200
ef1cf64759🎨 style(visplot_render.py): add camera distance to improve 3D visualization The camera distance is set to 10 to improve the 3D visualization of the object. This change is purely cosmetic and does not affect the functionality of the code.Djalim Simaila2023-05-02 10:20:24 +0200
0ae697096c🔨 refactor(MainWindow.py): add graph_type_changed method to handle changes in graph type selection ✨ feat(MainWindow.ui): add a label and a spinbox to display the number of graphs selected The graph_type_changed method is added to handle changes in the graph type selection. It updates the number of graphs selected and displays it in the newly added spinbox. The label is also added to display the text "Nombre de graphes :".Djalim Simaila2023-05-02 10:09:54 +0200
2ef063f4b3refactor(MainWindow.py): rename 'completed' variable to 'completed_tasks' and 'comboBoxes' to 'combo_boxes' for better semantics feat(MainWindow.py): add 'has_changed' and 'old_discretisation_value' variables to track changes in the discretisation value selector and avoid unnecessary computations fix(MainWindow.py): set status message when rendering graphs to inform the user of the processDjalim Simaila2023-05-02 09:53:31 +0200
18eaf6a016feat(MainWindow.py): set default output folder path to input file's directory if output folder path is empty or None when selecting a file.Djalim Simaila2023-05-02 09:25:19 +0200
33ebfe9192refactor(MainWindow.ui, UI_MainWindow.py): change window title from "MainWindow" to "Analyse Morphologique" for better user experienceDjalim Simaila2023-05-02 09:21:36 +0200
c885cf989brefactor: remove unused code and files from the projectDjalim Simaila2023-05-02 09:21:19 +0200