This is related to #1 but subtly different (since #1 is one of a few possible solutions):
The current Filter object is not really a filter, but rather a generator for filter "results". I think a more natural thing to do would be something like:
Filter->FilterGeneratorreconstruct-> returns an ApproximatedFilter object (a la #1)
download_true_transmittance -> returns a LookupTableFilter object (or following #1 could be the existing tabular model)
Then it's clearer that the main class is actually just a tool to generate filters, which are the things the user actually then works with to do anything.
This is related to #1 but subtly different (since #1 is one of a few possible solutions):
The current
Filter
object is not really a filter, but rather a generator for filter "results". I think a more natural thing to do would be something like:Filter
->FilterGenerator
reconstruct
-> returns anApproximatedFilter
object (a la #1)download_true_transmittance
-> returns aLookupTableFilter
object (or following #1 could be the existing tabular model)Then it's clearer that the main class is actually just a tool to generate filters, which are the things the user actually then works with to do anything.