You're reading an old version of this documentation. For up-to-date information, please have a look at v0.11.
Roadmap
A few ideas how to develop the project further, currently a list as a reminder for the main developers themselves, in no particular order, though with a tendency to list more important aspects first:
For version 0.3
Remaining basic processing and analysis steps:
denoising
adding noise
? AxisAlgebra: provide a function that gets evaluated on the values of an axis
Interpolation
for ND with N>2
different types of interpolation
BlindSNREstimation with alternative methods
SNREstimation with explicitly providing noise (using both, processing and analysis)
Expand use cases: reports
For later versions
Recipes: Subrecipes that can be included in recipes
Report task: Add figure captions to context if available
Reporter: Method for adding dict representations of datasets to context
Report task: Operating on recipes, i.e. report on all tasks in a recipe
Report task: Adding arbitrary dict representations of properties of datasets/results to context
Default report templates for each type of processing/analysis task
Includes deciding where to store these templates, whether to have them stored in different directories for different languages, and alike. Ideally, templates should be copied to a user-accessible directory for modifying there.
Templates for creating derived packages
Logging
Tabular representations of characteristics extracted from datasets
Plotter: Factory to create single plots of each given dataset.
Todos
A list of todos, extracted from the code and documentation itself, and only meant as convenience for the main developers. Ideally, this list will be empty at some point.
Todo
Flesh out these additional DatasetAnnotation classes, particularly in light of the newly created PlotAnnotation classes that may eventually be a way to graphically display the dataset annotations.
Todo
Clarifly the difference between the HistoryRecord and Record classes, and explain which is used when and how.
Todo
How to handle noisy data in case of area normalisation, as this would probably account for double the noise if simply taking the absolute?
Todo
Make type of interpolation controllable
Todo
Make type of interpolation controllable
Make number of points controllable (in absolute numbers as well as minimum and maximum points with respect to datasets)
Todo
While generally, recipe-driven data analysis works well in practice, improving usability and robustness is high on the list. This includes ( but may not be limited to) a parser for recipes performing a static analysis of their syntax and is particularly useful for larger datasets and/or longer lists of tasks. Potential steps in this direction:
Add
check()
method toaspecd.tasks.Task
Define required parameters in a (private) attribute of either the individual task level or even on the level of the underlying objects
Potentially reuse the
_sanitise_parameters()
method.
Todo
Can recipes have LOIs themselves and therefore be retrieved from the extended data safe? Might be a sensible option, although generic (and at the same time unique) LOIs for recipes are much harder to create than LOIs for datasets and alike.
Generally, the concept of a LOI is nothing a recipe needs to know about. But it does know about an ID of any kind. Whether this ID is a (local) path or a LOI doesn’t matter. Somewhere in the ASpecD framework there may exist a resolver (factory) for handling IDs of any kind and eventually retrieving the respective information.
Todo
Things to add:
Reports