diff options
author | epapoutsellis <epapoutsellis@gmail.com> | 2019-04-14 20:04:16 +0100 |
---|---|---|
committer | epapoutsellis <epapoutsellis@gmail.com> | 2019-04-14 20:04:16 +0100 |
commit | b59b6e08ca9f6a553007de0be7a764e1c20a3831 (patch) | |
tree | 6fd678abd3768350ff86012a669f785a950e2053 /Wrappers | |
parent | 0c0c274a4566dfa46bac56d61dc59d9c97dc8dbc (diff) | |
download | framework-b59b6e08ca9f6a553007de0be7a764e1c20a3831.tar.gz framework-b59b6e08ca9f6a553007de0be7a764e1c20a3831.tar.bz2 framework-b59b6e08ca9f6a553007de0be7a764e1c20a3831.tar.xz framework-b59b6e08ca9f6a553007de0be7a764e1c20a3831.zip |
change to ZeroFunction
Diffstat (limited to 'Wrappers')
-rw-r--r-- | Wrappers/Python/ccpi/optimisation/functions/ZeroFun.py | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/Wrappers/Python/ccpi/optimisation/functions/ZeroFun.py b/Wrappers/Python/ccpi/optimisation/functions/ZeroFun.py deleted file mode 100644 index 6d21acb..0000000 --- a/Wrappers/Python/ccpi/optimisation/functions/ZeroFun.py +++ /dev/null @@ -1,63 +0,0 @@ -# -*- coding: utf-8 -*- -# This work is part of the Core Imaging Library developed by -# Visual Analytics and Imaging System Group of the Science Technology -# Facilities Council, STFC - -# Copyright 2018-2019 Evangelos Papoutsellis and Edoardo Pasca - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import numpy as np -#from ccpi.optimisation.funcs import Function -from ccpi.optimisation.functions import Function -from ccpi.framework import DataContainer, ImageData -from ccpi.framework import BlockDataContainer - -class ZeroFun(Function): - - def __init__(self): - super(ZeroFun, self).__init__() - - def __call__(self,x): - return 0 - - def convex_conjugate(self, x): - ''' This is the support function sup <x, x^{*}> which in fact is the - indicator function for the set = {0} - So 0 if x=0, or inf if x neq 0 - ''' - - if x.shape[0]==1: - return x.maximum(0).sum() - else: - if isinstance(x, BlockDataContainer): - return x.get_item(0).maximum(0).sum() + x.get_item(1).maximum(0).sum() - else: - return x.maximum(0).sum() + x.maximum(0).sum() - - def proximal(self, x, tau, out=None): - if out is None: - return x.copy() - else: - out.fill(x) - - def proximal_conjugate(self, x, tau, out = None): - if out is None: - return 0 - else: - return 0 - - def domain_geometry(self): - pass - def range_geometry(self): - pass
\ No newline at end of file |