Skip to content

Refactoring Ideas for Match RMSE Scripts #4

@benjamin-heasly

Description

@benjamin-heasly

Issue by benjamin-heasly
Friday Feb 06, 2015 at 20:31 GMT
Originally opened as https://github.com/DavidBrainard/RenderToolboxDevelop/issues/20


We have some scripts for doing parameter sweeps and matching RMSEs with WardLand scenes (https://github.com/DavidBrainard/RenderToolboxDevelop/wiki/Matching-RMSE-in-Ward-Land)

These work. But if we want to pursue these analyses further, we might want to refactor the code and make it easier to work with various scenes and various parameter sweeps.

Some ideas:

Right now, we have to write separate code for each parameter sweep. So running two sweeps means cutting and pasting chunks of rendering and analysis code. We should have a utility for running a batch of sweeps at once.

We should standardize some kind of "sweep struct" that has all the info. needed for a sweep, like the sweep name, which parameter to vary, the reference value for the parameter, and the extreme value for the parameter.

The we should pass an array of sweeps to a utility that renders them all and does the lambda and target RMSE analysis for all the sweeps.


It would be good if the code could automatically detect the reference value for all sweep parameters, based on the original WardLand scene. That way, we won't accidentally use incorrect reference values and end up with different reference conditions from sweep to sweep.


We might as well do both "global" and "local" RMSE analyses every time, as opposed to having to change a flag and re-run the analysis each time.


Right now, TryMatchRMSERecipe.m has rendering code interleaved with bookkeeping code. We should separate these concerns to make it easier to skip the rendering step in cases when we're happy to reuse previous renderings.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions