Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Neel Shah
NIFTy
Commits
b400978c
Commit
b400978c
authored
Oct 06, 2017
by
Theo Steininger
Browse files
Fixed PowerSpace.total_volume. Moved memoization.py to package directory root.
parent
a6a8de75
Changes
9
Hide whitespace changes
Inline
Side-by-side
nifty/__init__.py
View file @
b400978c
...
...
@@ -46,6 +46,8 @@ from .field_types import *
from
.energies
import
*
from
.memoization
import
memo
from
.minimization
import
*
from
.spaces
import
*
...
...
nifty/energies/__init__.py
View file @
b400978c
...
...
@@ -19,4 +19,3 @@
from
.energy
import
Energy
from
.quadratic_energy
import
QuadraticEnergy
from
.line_energy
import
LineEnergy
from
.memoization
import
memo
nifty/energies/energy.py
View file @
b400978c
...
...
@@ -17,7 +17,7 @@
# and financially supported by the Studienstiftung des deutschen Volkes.
from
..nifty_meta
import
NiftyMeta
from
.memoization
import
memo
from
.
.memoization
import
memo
from
keepers
import
Loggable
from
future.utils
import
with_metaclass
...
...
nifty/energies/quadratic_energy.py
View file @
b400978c
from
.energy
import
Energy
from
.memoization
import
memo
from
.
.memoization
import
memo
class
QuadraticEnergy
(
Energy
):
...
...
nifty/library/critical_filter/critical_power_energy.py
View file @
b400978c
...
...
@@ -2,7 +2,7 @@ from ...energies.energy import Energy
from
...operators.smoothness_operator
import
SmoothnessOperator
from
...operators.diagonal_operator
import
DiagonalOperator
from
.
import
CriticalPowerCurvature
from
...
energies.
memoization
import
memo
from
...memoization
import
memo
from
...minimization
import
ConjugateGradient
from
...sugar
import
generate_posterior_sample
...
...
nifty/library/log_normal_wiener_filter/log_normal_wiener_filter_curvature.py
View file @
b400978c
from
...operators
import
EndomorphicOperator
,
\
InvertibleOperatorMixin
from
...
energies.
memoization
import
memo
from
...memoization
import
memo
from
...basic_arithmetics
import
clipped_exp
from
...sugar
import
create_composed_fft_operator
from
...minimization
import
ConjugateGradient
...
...
nifty/library/wiener_filter/wiener_filter_energy.py
View file @
b400978c
from
...energies.energy
import
Energy
from
...
energies.
memoization
import
memo
from
...memoization
import
memo
from
...minimization
import
ConjugateGradient
from
.
import
WienerFilterCurvature
...
...
nifty/
energies/
memoization.py
→
nifty/memoization.py
View file @
b400978c
File moved
nifty/spaces/power_space/power_space.py
View file @
b400978c
...
...
@@ -21,6 +21,7 @@ import numpy as np
from
d2o
import
distributed_data_object
,
\
STRATEGIES
as
DISTRIBUTION_STRATEGIES
from
...memoization
import
memo
from
...spaces.space
import
Space
from
functools
import
reduce
from
...config
import
nifty_configuration
as
gc
...
...
@@ -187,9 +188,9 @@ class PowerSpace(Space):
return
self
.
shape
[
0
]
@
property
@
memo
def
total_volume
(
self
):
# every power-pixel has a volume of 1
return
float
(
reduce
(
lambda
x
,
y
:
x
*
y
,
self
.
pindex
.
shape
))
return
np
.
sum
(
self
.
_volume_weight
)
def
copy
(
self
):
distribution_strategy
=
self
.
pindex
.
distribution_strategy
...
...
@@ -198,15 +199,7 @@ class PowerSpace(Space):
binbounds
=
self
.
_binbounds
)
def
weight
(
self
,
x
,
power
,
axes
,
inplace
=
False
):
try
:
weight
=
self
.
_volume_weight
except
AttributeError
:
from
...field
import
Field
weight_field
=
Field
(
domain
=
self
.
harmonic_partner
,
val
=
1
).
weight
()
self
.
_volume_weight
=
\
self
.
pindex
.
bincount
(
weights
=
weight_field
.
val
).
get_full_data
()
weight
=
self
.
_volume_weight
weight
=
self
.
_volume_weight
reshaper
=
[
1
,
]
*
len
(
x
.
shape
)
# we know len(axes) is always 1
reshaper
[
axes
[
0
]]
=
self
.
shape
[
0
]
...
...
@@ -223,6 +216,13 @@ class PowerSpace(Space):
return
result_x
@
property
@
memo
def
_volume_weight
(
self
):
from
...field
import
Field
weight_field
=
Field
(
domain
=
self
.
harmonic_partner
,
val
=
1
).
weight
()
return
self
.
pindex
.
bincount
(
weights
=
weight_field
.
val
).
get_full_data
()
def
get_distance_array
(
self
,
distribution_strategy
):
return
distributed_data_object
(
self
.
kindex
,
dtype
=
np
.
float64
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment