Add photocollection concept to database (#234) #235
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #234
This is necessary for downstream work of generating a photoscan/mesh from the 70-80 photos from 3D Open Water. The 3D Open Water app does not generate a mesh, it just takes photos. So we store the photos for downstream analysis.
In detail
Adds a concept of photocollections to the database. Photocollections are associated with the specific session_id of a specific subject_id, and they are identified by the reference_number. 'reference_number' was used instead of photocollection_id for consistency with 3D Open Water. 3D Open Water takes a collection of
.jpegphotos and the goal of photocollections are to store that collection of photos into the database for downstream processing; specifically, the plan is for a photocollection of 70-80 photos of a patient's head to be used to create a mesh via an algorithm (i.e. a "photoscan" object). There is no special object associated with a photocollection -- it's just a collection of photos stored in a directory and identified by the reference_number.For review
This code is not unit tested but is pretty independent within the subject/session tree. Errors will likely be caught in its usage. Other than reading the code, you could pipe it through an LLM and see if you rolled the right RNG for it to discover a bug.