BrownBiomechanics / SlicerAutoscoperM

This 3D Slicer extension enables users to perform image registration.
https://autoscoperm.slicer.org
MIT License
1 stars 4 forks source link

Improve PreProcessing workflow to support BVR cfg generation #131

Open jcfr opened 1 month ago

jcfr commented 1 month ago

See https://autoscoper.readthedocs.io/en/latest/file-specifications/config.html

jdholt04 commented 1 month ago

For us, the most useful UI to generate a config file would have inputs controls to identify Calibration, Radiograph, and Volume subdirectories, Optimization Offsets (already present), Volume Flip (already present), Render Resolution (2 number input boxes), and Voxel Size (3 number input boxes). Calibration files, folders containing radiographs, and volume files would be parsed from the subdirectories (this assumes that calibration files and radiograph image folders have a camera identifier in their filename). The information from the input controls would be compiled into a .cfg file (Version 1.1).

For reference, here is the current Generate Config tab:

Picture1

amymmorton commented 1 month ago

The advanced Options tab may be modified to meet some of these needs along with a more comprehensive Generate Config drop down

image

For reference, the folder explorer to the right shows the subdirectories typically found within the RadiographImages folder and the maycam files found in Calibration folder. (John - could you please add a screen shot from your projects too?)

Trial Name in General Input tab currently is a manual fill in... options for batch generation.. can't make too many file structure or naming restricitons

jdholt04 commented 1 month ago

Here is a screenshot of the file structure for our project:

Capture

On the left: Trial directory, what we would set as our Output Directory, and where we would want to save a .cfg

On the right: Contents of RadiographImages, Calibration, and Volumes subdirectories

amymmorton commented 4 weeks ago

@sbelsk do you have enough info to make a start on this - or do we need to do a quick show and tell? @jdholt04

sbelsk commented 3 weeks ago

That makes sense. A few more questions, to clarify:

volume files would be parsed from the subdirectories

Do we want to automatically load all volume files found in the specified volume subdirectory? Should we assume that the volume flip and voxel size properties are set once and they apply to all volumes files found?

Calibration files, folders containing radiographs [...] would be parsed from the subdirectories (this assumes that calibration files and radiograph image folders have a camera identifier in their filename)

Matching up the radiographs to their camera calibration files might be difficult in general if we don't require a certain name format/convention or if we don't tell SAM what exact name to look for. What are your thoughts on this?

amymmorton commented 3 weeks ago

q1. Do we want to automatically load all volume files found in the specified volume subdirectory? a1. No- I think we want to create a 'session' so to speak for the user. Using the preprocessing module- the affiliated segmentation node volumes linked in the partial volume gen should be used for the 'session'.

q2.Should we assume that the volume flip and voxel size properties are set once and they apply to all volumes files found? a2. voxel size is set from the volume node referenced in the partial volume generation- so those value should be inherited and used for that 'session'. Keep volume flip manually adjustable (but yes all volumes are considered children of the same parent and should have the same vol flip vlaues)

amymmorton commented 3 weeks ago

suggest #133 as step forward for this and #125

amymmorton commented 2 weeks ago

@sbelsk suggest relocating trial name in the General Input ui drop down into the Generate Config group