Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] remember vc_render params in the metadata json #41

Open
1 of 2 tasks
janpaul123 opened this issue Sep 14, 2023 · 1 comment
Open
1 of 2 tasks

[Feature] remember vc_render params in the metadata json #41

janpaul123 opened this issue Sep 14, 2023 · 1 comment
Labels
enhancement New feature or request triage Needs evaluation by developer

Comments

@janpaul123
Copy link

What problem is your feature request solving?

It's inconvenient to keep a list of vc_render params for each separate segment, to rotate / flip the segment into an orientation in which text is readable.

What is your feature request?

It would be nice if you can specify params in the JSON file for each segment, and have vc_render use those params as a default. That way you can easily run vc_render on all segments (e.g. for f in paths/; do vc_render …) and have all the outputs be oriented properly.

What alternative solutions have you considered?

Keeping a separate list of flags for vc_render for each segment. Or a separate file that contains the flags or so.

Is there anything else we should know that wasn't included already?

Not super high priority, just something nice to consider.

Are you proposing to work on this feature yourself?

  • I am willing to submit a pull request for this feature

Code of Conduct

  • I agree to follow this project's Code of Conduct
@janpaul123 janpaul123 added enhancement New feature or request triage Needs evaluation by developer labels Sep 14, 2023
@csparker247
Copy link
Member

csparker247 commented Sep 15, 2023

Just to expand on this a little bit, there are some similar features that exist and which have been discussed which might also help here:

Graph processing

Whenever you run vc_render, it adds a render graph to the .volpkg in the renders directory and reports the ID number for the graph on the command line. This render graph directory stores all of the parameters, metadata, and intermediate data structures used to generate the final, rendered output. At a minimum this provides reproducibility, but it was also intended to be expanded so that you could clone a graph, make modifications, and see the results of your modification without recomputing everything from scratch. We could add this behavior to vc_render, though I admit that the command-line interface might get a bit hairy. Maybe a graph pipeline GUI? Anyway, I think this existing feature could be expanded to fit the essence of the request. We're already storing the settings used, so how do we make it possible to easily rerun them?

By the by, you can see what a render graph looks like using the vc_visualize_graph tool and graphviz:

vc_visualize_graph -v Foo.volpkg -r 20230905213619 -s educelab -o graph.gv
dot -Tpng -o graph.png graph.gv

graph

Improve auto-orientation

This doesn't solve the entire reproducibility problem, but we can do better about auto-orienting our flattened segmentations in a more consistent way. We have Landmark classes in vc::core that were meant to serve as feature-of-interest annotations, but they never got integrated into the VolumePkg interface. One of their intended uses was to provide reference frames for some future auto-orientation code (e.g. the top of the image should be in the direction of the "top of the scroll" marker in the volume). I believe I discussed this in the Discord with someone once, but I don't know what ever came of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triage Needs evaluation by developer
Projects
None yet
Development

No branches or pull requests

2 participants