Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
On Thursday, 7th July from 1 to 3 pm there will be a maintenance with a short downtime of GitLab.
Open sidebar
ift
NIFTy
Commits
309dd635
Commit
309dd635
authored
Oct 06, 2018
by
Martin Reinecke
Browse files
Merge branch 'NIFTy_5' of gitlab.mpcdf.mpg.de:ift/nifty-dev into NIFTy_5
parents
794fab2a
0ce1b2ee
Changes
3
Hide whitespace changes
Inline
Side-by-side
nifty5/operators/linear_operator.py
View file @
309dd635
...
...
@@ -259,5 +259,4 @@ class LinearOperator(Operator):
def
_check_input
(
self
,
x
,
mode
):
self
.
_check_mode
(
mode
)
if
self
.
_dom
(
mode
)
!=
x
.
domain
:
raise
ValueError
(
"The operator's and field's domains don't match."
)
self
.
_check_domain_equality
(
self
.
_dom
(
mode
),
x
.
domain
)
nifty5/operators/mask_operator.py
View file @
309dd635
...
...
@@ -32,6 +32,15 @@ from .linear_operator import LinearOperator
# collect the unstructured Fields.
class
MaskOperator
(
LinearOperator
):
def
__init__
(
self
,
mask
):
"""Implementation of a mask response
This operator takes a field, applies a mask and returns the values of
the field in a UnstructuredDomain. It can be used as response operator.
Parameters
----------
mask : Field
"""
if
not
isinstance
(
mask
,
Field
):
raise
TypeError
...
...
nifty5/operators/operator.py
View file @
309dd635
...
...
@@ -23,6 +23,17 @@ class Operator(NiftyMetaBase()):
The domain on which the Operator's output Field lives."""
return
self
.
_target
@
staticmethod
def
_check_domain_equality
(
dom_op
,
dom_field
):
if
dom_op
!=
dom_field
:
s
=
"The operator's and field's domains don't match."
from
..domain_tuple
import
DomainTuple
from
..multi_domain
import
MultiDomain
if
not
isinstance
(
dom_op
,
[
DomainTuple
,
MultiDomain
]):
s
+=
" Your operator's domain is neither a `DomainTuple`"
\
" nor a `MultiDomain`."
raise
ValueError
(
s
)
def
scale
(
self
,
factor
):
if
factor
==
1
:
return
self
...
...
@@ -66,8 +77,7 @@ class Operator(NiftyMetaBase()):
def
_check_input
(
self
,
x
):
from
..linearization
import
Linearization
d
=
x
.
target
if
isinstance
(
x
,
Linearization
)
else
x
.
domain
if
self
.
_domain
!=
d
:
raise
ValueError
(
"The operator's and field's domains don't match."
)
self
.
_check_domain_equality
(
self
.
_domain
,
d
)
def
__call__
(
self
,
x
):
if
isinstance
(
x
,
Operator
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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