ift issueshttps://gitlab.mpcdf.mpg.de/groups/ift/-/issues2016-07-22T20:57:33Zhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/55Reduce rg_power_space to generic power_space2016-07-22T20:57:33ZTheo SteiningerReduce rg_power_space to generic power_spaceThe rg_power_space can be made generic enough to be suitable for all spaces.
The power_indices get injected as a reference to the certain class.
The space-specific parameters get passed in terms of the paradict. -> The __init__ of th...The rg_power_space can be made generic enough to be suitable for all spaces.
The power_indices get injected as a reference to the certain class.
The space-specific parameters get passed in terms of the paradict. -> The __init__ of the (RG/LM)PowerIndices classes must be changed such that it accepts paradicts. Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/54Move get_codomain from space to Transformator classes2018-04-02T09:42:38ZTheo SteiningerMove get_codomain from space to Transformator classeshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/53Add check_codomain cache to Transformation Classes2018-04-02T09:42:38ZTheo SteiningerAdd check_codomain cache to Transformation Classeshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/52Merge Transform and Transformation classes2018-04-02T09:42:38ZTheo SteiningerMerge Transform and Transformation classeshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/51Make HPSpace, LMSpace, GLSpace available even if the needed modules are not a...2016-07-22T22:57:35ZTheo SteiningerMake HPSpace, LMSpace, GLSpace available even if the needed modules are not available....just raise an exception in doubt....just raise an exception in doubt.Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/50Use gdi(gc[fft_module]) in RGRGTransformation.__init__2018-04-02T09:42:38ZTheo SteiningerUse gdi(gc[fft_module]) in RGRGTransformation.__init__https://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/49Move `check_codomain` in Transformation to child classes2018-04-02T09:42:38ZTheo SteiningerMove `check_codomain` in Transformation to child classeshttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/48LMSpace with complex signal space partners2017-01-20T00:46:08ZTheo SteiningerLMSpace with complex signal space partnersLMSpace stores only one half of the complex-conjugated pairs one gets if the signal field was real valued. In this case the dot product between a=(a_-1, a_0, a_1) and b=(...) can be computed by simply taking a_0*b*0 + 2*(a_1.real*b_1.rea...LMSpace stores only one half of the complex-conjugated pairs one gets if the signal field was real valued. In this case the dot product between a=(a_-1, a_0, a_1) and b=(...) can be computed by simply taking a_0*b*0 + 2*(a_1.real*b_1.real + a_1.imag*b_1.imag) as a_-1 and a_1 are complex-conjugated.
If the signal space field was complex, one gets something with cc-symmetry for the real and the imaginary part of this field respectively; modulo i. FFT is linear -> the result has no cc-symmetry anymore.
Solution: Store the full lm spectrum for LMSpace. Apply the action of libsharp (transform, smooth) on the half sum and half difference of a field with its transposed as this reconstructs the cc-symmetric parts comming from the real (imaginary, resp.)-part of the signal field. Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/47meta_volume vs volume2016-07-22T20:57:34ZTheo Steiningermeta_volume vs volumeSpace.weight methods use volume instead of meta volume.
Isn't this choice arbitrary? By excluding pixes from the weight that contain no new information, we weight according to the 'information volume' instead with the 'geometrical volu...Space.weight methods use volume instead of meta volume.
Isn't this choice arbitrary? By excluding pixes from the weight that contain no new information, we weight according to the 'information volume' instead with the 'geometrical volume'. Also: LMspace (at least for real signal space partners) stores only one half of the pair-wise complex conjugated numbers, RGSpace with complexity==1 stores the full thing. The inner dot product treats them differently.
Definition of meta-volume:
The meta volumes are the volumes associated with each component of a field, taking into account field components that are not explicitly included in the array of field values but are determined by symmetry conditions.Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/46Implement real <-> complex decorator2016-07-20T23:32:35ZTheo SteiningerImplement real <-> complex decoratorSpaces that naturally act on real arrays should apply their action on the real and imaginary part of complex input arrays independently. Maybe the most conventient solution for this is to write a decorator, which
- decomposes complex i...Spaces that naturally act on real arrays should apply their action on the real and imaginary part of complex input arrays independently. Maybe the most conventient solution for this is to write a decorator, which
- decomposes complex input arrays
- applies the space action on .real and .imag independently
- composes the complex return array
https://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/45Possibly invert Fourier-transformation responsibilities2018-04-02T09:42:38ZTheo SteiningerPossibly invert Fourier-transformation responsibilitiesRight now, the domain-space computes the data for the codomain-space. The field then uses this data together with the new data. For the spherical spaces this produces strange if-else blocks in the calc_transform methods.
It would be ...Right now, the domain-space computes the data for the codomain-space. The field then uses this data together with the new data. For the spherical spaces this produces strange if-else blocks in the calc_transform methods.
It would be clearer when the codomain-space computed its data directly: e.g. lm_space then has two sub-methods: transform_from_hp and transform_from_glhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/44gl_space.vol2017-01-20T00:37:49ZTheo Steiningergl_space.volThe gl_space inherits the vol property from (point)space, which uses np.prod(self.distances). As gl_space stores some condensed information in self.distances, gl_space.vol produces wrong results. The correct result can be constructed by ...The gl_space inherits the vol property from (point)space, which uses np.prod(self.distances). As gl_space stores some condensed information in self.distances, gl_space.vol produces wrong results. The correct result can be constructed by weighting a ones-field and then summing up all the entries. Maybe there is a faster way to do this.
The default volume is somehow normalized to 12.5657994...Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/43field.smooth on rg_space produces non-sensible results on multiple spaces2018-04-02T09:42:38ZTheo Steiningerfield.smooth on rg_space produces non-sensible results on multiple spaces from nifty import *
x = rg_space((8,))
f = field((x,x), val=1)
f.val[3] = 10
f.smooth(spaces=0, sigma=0.0001).val
The result of the last operation does not make sense, as the columns are
<distributed_da... from nifty import *
x = rg_space((8,))
f = field((x,x), val=1)
f.val[3] = 10
f.smooth(spaces=0, sigma=0.0001).val
The result of the last operation does not make sense, as the columns are
<distributed_data_object>
array([ 1.00000104, 0.99999867, 1.00000355, 5.49999423, 1.00000607,
5.49999423, 1.00000355, 0.99999867])
instead of
<distributed_data_object>
array([ 1.00000104, 0.99999822, 1.00000607, 9.99999023, 1.00000607,
0.99999822, 1.00000104, 0.99999911])
https://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/42Examine if `discrete` attribute from spaces can be removed.2016-07-11T23:48:49ZTheo SteiningerExamine if `discrete` attribute from spaces can be removed.Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/41apply_scalar_function2017-05-15T22:01:45ZGhost Userapply_scalar_function*apply_scalar_function* is removed from field, this breaks *nifty_power_conversion_rg*: in the function *power_backward_conversion_rg* and in the function *power_backward_conversion_rg**apply_scalar_function* is removed from field, this breaks *nifty_power_conversion_rg*: in the function *power_backward_conversion_rg* and in the function *power_backward_conversion_rg*https://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/40Fix gl_space.check_codomain function2017-01-20T00:43:54ZGhost UserFix gl_space.check_codomain functions = gl_space(nlat=8,nlon=8 );s.check_codomain(s.get_codomain())
returns false
Although gl_space warns at creation that parameters are un-recommended it doesn't warn that they wont work. It should at least recognize it's own codomain.s = gl_space(nlat=8,nlon=8 );s.check_codomain(s.get_codomain())
returns false
Although gl_space warns at creation that parameters are un-recommended it doesn't warn that they wont work. It should at least recognize it's own codomain.https://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/39Add threading parameter to NIFTy configuration2017-08-27T00:38:19ZTheo SteiningerAdd threading parameter to NIFTy configurationUse this for pyfftw in create_mpi_plan/numpy-like pyfftw interface.Use this for pyfftw in create_mpi_plan/numpy-like pyfftw interface.Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/38Enable nifty_fft classes to operate on global NIFTy MPI communicator2018-01-12T09:21:39ZTheo SteiningerEnable nifty_fft classes to operate on global NIFTy MPI communicatorRelated to Issue #37 Related to Issue #37 Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/37Define NIFTy-wide comm in nifty_configuration.2017-06-13T07:44:57ZTheo SteiningerDefine NIFTy-wide comm in nifty_configuration.Use this communicator globally for all NIFTy objects. Inherit to all D2O arrays. Pass forward to pyfftw.Use this communicator globally for all NIFTy objects. Inherit to all D2O arrays. Pass forward to pyfftw.Theo SteiningerTheo Steiningerhttps://gitlab.mpcdf.mpg.de/ift/nifty/-/issues/36No user access to files in ~/.nifty2016-07-22T22:56:41ZTheo SteiningerNo user access to files in ~/.niftyIf setuptools is run with sudo priviledges, the files are not changeable by the user.
Fix: Make chmod during setupIf setuptools is run with sudo priviledges, the files are not changeable by the user.
Fix: Make chmod during setupTheo SteiningerTheo Steininger