Update to NIFTy_5
-
Create NIFTy fork (@mtr @parras) -
Move KL and poisson demo from GlobalNewton to NIFTy fork. (@parras) -
Revert documentation to NIFTy4 (@parras)
Use Model
for constructing the following energies (@mtr, @jruestig, @reimar, @pfrank):
-
GaussianLH
,PoissonianLH
(new curvature) -
NoiseModel
-
make_correlated_field
(move from GlobalNewton) -
make_amplitude_model
(move from GlobalNewton) -
make_multifrequency_correlated_field
/separable_correlations
(move from GlobalNewton and adopt)
To this end one probably needs to implement a Gaussian and a Poissonian likelihood which is to be used in all energies (see GlobalNewton repository). Please add documentation directly.
Documentation:
-
Documentation on volume factors (see also #234 (moved), @reimar, @maxn). -
Add Models (@hutsch) and MultiFields (@mtr ) to top-level documentation. -
__add__
and__sub__
ofEnergy
(@mtr) -
Constant
(@jruestig, @clienhar) -
LocalModel
(@jruestig, @clienhar) -
Model
(@jruestig, @clienhar) -
Add
in models (@jruestig, @clienhar) -
ScalarMul
(@jruestig, @clienhar) -
LinearModel
(@jruestig, @clienhar) -
Variable
(@jruestig, @clienhar) -
ModelGradientOperator
(@clienhar) -
SamplingEnabler
(@kjako) -
SelectionOperator
(@lplatz)
Tests:
-
Consistency checks for all linear operators (see ift.extra
!). (@lplatz, @silvan, @mawandro) -
Gradient consistency checks for all energies in library (see ift.extra
, do that when the energies are rewritten). (@lplatz, @silvan, @mawandro) -
Unit tests for all new functionality, especially for models. (@parras, @jruestig) -
Write ift.extra.model_consistency_check
and check every model with it (@reimar, @silvan)
Demos:
-
Fix demos/poisson_demo.py
or move poisson demo from GlobalNewton here. -
Think about concept for demos. Which ones? How universal? Which features? MAP solution for multi-problems until Jakob's paper is out? -
Write demos (first demo/advanced.py
, thengetting_started_123
, 1: R=mask, WF, 2: R=mask, PoissonLogNormal, 3: R=LOS, PosTanh, Gauss, AmplitudeReconstruction). Start when energies are ready. (@kjako, @natalia)
Internals:
-
Add something like a CurvatureInversionEnabler
class, which takes anEnergy
, anIterationController
and (optionally) a preconditioner and adds invertability to the energy's curvature operator. Having such a class would probably allow for some code reductions in many energy classes. (This is now tracked as issue #246 (moved)). (@mtr) -
Move classes out of model.py
exceptModel
. -
Revert automatical casting of Field
toModel
. (@parras) -
Rewrite __add__
ofEnergy
such that no trees are created (@mtr).
To be discussed:
-
Automatically cast Field
toModel
when multiplied with aModel
?