Skip to content

Prepare Fitting App for Publishing #2

@ahmadomira

Description

@ahmadomira
  1. Implement Fitting Layer
    • Implement a dedicated layer in the application responsible for managing the fitting process.
    • Fitting layer should implement multithreading options, allowing users to specify the number of threads to optimize performance.
    • Ensure the fitting layer can be easily extended or modified for future enhancements.

Be aware of multithreading/-processing difference across Windows, Linux, and MacOS.

  1. Backend Enhancements

    • Backend inputs:
      • Number of threads
      • Parameter boundaries
      • Fitting model (e.g., dye-alone, IDA, DBA, or GDA)
      • Supplementary information (e.g., dye, experiment protocol, etc.)
    • Backend outputs:
      • Trajectories: Return the computed trajectories as part of the results.
      • Optimal parameter set: Provide the best-fit parameters as a list for further analysis or use.
  2. Loss Function Refactoring

    • Refactor all loss functions to accept parameters strictly as a list for consistency.
    • Package any additional information required by the loss functions into a dedicated class, for clean and maintainable code.
    • Document the new structure and usage patterns for developers.
  3. Documentation and Testing

    • Add documentation to the fitting layer and backend.
    • Ensure that all features are covered by unit tests, including edge cases and error handling.
    • Create a comprehensive test suite to validate the fitting process across different scenarios.
  4. Shipping the App

    • Consider 'compiling' the app using Nuitka for better performance. If it doesn't work, try cs_freeze. Last resort, stick to PyInstaller.
    • Write a README file with a quick start guide.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions