Skip to content

⚡ [Feature]: Refine DSC module algorithms based on example analysis results #65

Description

@PPeitsch

Problem Description

The process of creating detailed, use-case-specific examples for the DSC module has highlighted several areas where the core algorithms can be improved for better accuracy, robustness, and user experience. While the current implementation is functional, insights gained from testing against varied synthetic data show opportunities for refinement.

For instance, the default parameters for peak detection might be too sensitive or not sensitive enough for certain signal types, and the differentiation between overlapping thermal events can be further enhanced.

Proposed Solution

Systematically review the behavior of the DSC analysis module as demonstrated in the new examples and implement targeted improvements to the core logic.

  1. Parameter Tuning: Analyze the results from the examples and adjust the default parameters in PeakAnalyzer and ThermalEventDetector (e.g., peak_prominence, smoothing_window, internal thresholds) to provide more reliable out-of-the-box performance across a wider range of data types.
  2. Algorithm Refinement: Based on visual and quantitative results from the examples, refine the heuristics used for event detection. For example, enhance the logic that differentiates a glass transition from a broad melting peak by incorporating more signal features.
  3. Improve Output and Logging: Enhance the console output and logging within the analysis classes to provide more insightful information to the user during execution, such as why a particular peak was filtered or how a baseline was chosen.
  4. User-Facing API Improvements: Evaluate if the current API can be made more intuitive. For example, consider adding convenience functions or simplifying the parameters required for common analysis workflows.

Alternative Solutions

  • No action: Leave the algorithms as they are. This would miss a valuable opportunity to improve the module's quality and reliability based on real-world use case simulations.
  • Expose all parameters to the user: While providing flexibility, this can overwhelm users. The goal should be to have intelligent defaults that work for most cases, with a smaller set of advanced parameters for fine-tuning.

Additional Context

This improvement cycle is a critical part of the development process. Using the examples as a benchmark allows us to iteratively enhance the quality and robustness of the core library, ensuring it meets the practical needs of its users.

Implementation Details

No response

Guidelines

  • I agree to follow this project's Contributing Guidelines
  • I have searched for similar feature requests
  • I understand that this is a request and implementation is not guaranteed

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions