PPeitsch / pkynetics

Pkynetics is a comprehensive library for thermal analysis kinetic methods, including traditional model-fitting and model-free methods, advanced computational techniques, machine learning approaches, and result visualization.
MIT License
0 stars 0 forks source link

dilatometry analysis implementation #24

Closed PPeitsch closed 1 month ago

PPeitsch commented 1 month ago

Summary by CodeRabbit

Release Notes

coderabbitai[bot] commented 1 month ago

[!CAUTION]

Review failed

The pull request is closed.

Walkthrough

The pull request introduces several significant changes, including the addition of a new data file for dilatometry measurements and the creation of a dilatometry importer function. It also modifies existing modules to enhance data import and preprocessing capabilities, particularly for thermal analysis data. New functions for analyzing dilatometry data and JMAK methods are added, while the Avrami method is removed in favor of JMAK. Additionally, updates to visualization functions and examples are included to accommodate these changes.

Changes

File Path Change Summary
data/sample_dilatometry_data.asc New data file added containing dilatometry measurements with structured dataset.
data_import/init.py Added import for dilatometry_importer and updated __all__ list to include it.
data_import/custom_importer.py Added encoding parameter to CustomImporter's __init__ method for file encoding flexibility.
data_import/dilatometry_importer.py New file created with dilatometry_importer function for importing dilatometry data.
data_import/dsc_importer.py Enhanced DSC data import functionality and error handling, including encoding detection.
data_import/tga_importer.py Improved TGA data import process with encoding detection and manufacturer handling.
data_preprocessing/init.py New module created for preprocessing thermal analysis data with specified functions.
data_preprocessing/common_preprocessing.py Added smooth_data function for smoothing input data using Savitzky-Golay filter.
data_preprocessing/dilatometry_preprocessing.py New functions for analyzing dilatometry data, including inflection points and transformed fraction.
data_preprocessing/dsc_preprocessing.py New function calculate_dsc_transformed_fraction for processing DSC heat flow data.
data_preprocessing/tga_preprocessing.py New function calculate_tga_transformed_fraction for processing TGA weight data.
examples/dilatometry_example.py New example script for importing and analyzing dilatometry data with visualizations.
examples/importer_examples.py Added example for dilatometry_importer and updated TGA and DSC examples to include new parameters.
model_fitting_methods/init.py Removed Avrami method imports and added JMAK method imports.
model_fitting_methods/avrami.py File deleted; all Avrami method implementations removed.
model_fitting_methods/jmak.py New file with implementations for JMAK analysis methods.
model_fitting_methods/kissinger.py Updated kissinger_method for new units and simplified error handling.
tests/test_jmak_method.py Refactored tests from Avrami to JMAK method, updating class and method names accordingly.

Possibly related PRs

🐇 In the meadow, data flows,
With dilatometry, knowledge grows.
New functions leap, old methods fade,
JMAK shines bright, in the shade.
Let's analyze, plot, and cheer,
For science blooms, the future's near! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.