OpenwaterHealth / OpenLIFU-python

focused ultrasound toolbox
GNU Affero General Public License v3.0
9 stars 2 forks source link

Implement Solution class #103

Open ebrahimebrahim opened 6 days ago

ebrahimebrahim commented 6 days ago

Add Solutions to openlifu-python, referencing the matlab code for what needs to go into them, and including the needed serialization functionality.

This is just putting together the class mostly as a data structure with serialization -- all the analysis functionality we will worry about later in #104 and #105.

Here is the definition of Solution in the matlab code.

Additional note from Peter:

fus.treatment.Plan.m (equivalent to openlifu.Protocol) is also a useful reference, as it also has some of the planning responsibilities that go into programmatically generating the Solution

ebrahimebrahim commented 2 days ago

There are existing solution json files we can also use to drive implementation of the solution class. We should include tin this issue the ability to save the array-like data structures associated with a solution. To a more appropriate file format than mat, perhaps npz or xarray's preferred format.

We also need a functionality in Database to create a solution, generating unique IDs based on timestamps