diff options
Diffstat (limited to 'python/astra')
| -rw-r--r-- | python/astra/data3d.py | 2 | ||||
| -rw-r--r-- | python/astra/functions.py | 2 | ||||
| -rw-r--r-- | python/astra/optomo.py | 4 | ||||
| -rw-r--r-- | python/astra/utils.pyx | 12 | 
4 files changed, 13 insertions, 7 deletions
diff --git a/python/astra/data3d.py b/python/astra/data3d.py index e5ef6b0..f143659 100644 --- a/python/astra/data3d.py +++ b/python/astra/data3d.py @@ -89,7 +89,7 @@ def get_single(i):      :returns: :class:`numpy.ndarray` -- The object data.      """ -    return g.get_single(i) +    return d.get_single(i)  def store(i,data):      """Fill existing 3D object with data. diff --git a/python/astra/functions.py b/python/astra/functions.py index e38b5bc..3f4aa82 100644 --- a/python/astra/functions.py +++ b/python/astra/functions.py @@ -115,7 +115,7 @@ def add_noise_to_sino(sinogram_in, I0, seed=None):      sinogram_out = -max_sinogramRaw * np.log(sinogramCT_D)      if not isinstance(sinogram_in, np.ndarray): -        at.data2d.store(sinogram_in, sinogram_out) +        data2d.store(sinogram_in, sinogram_out)      if not seed==None:          np.random.set_state(curstate) diff --git a/python/astra/optomo.py b/python/astra/optomo.py index 4a64150..dd10713 100644 --- a/python/astra/optomo.py +++ b/python/astra/optomo.py @@ -160,7 +160,7 @@ class OpTomo(scipy.sparse.linalg.LinearOperator):              return self._matvec(v)          return scipy.sparse.linalg.LinearOperator.__mul__(self, v) -    def reconstruct(self, method, s, iterations=1, extraOptions = {}): +    def reconstruct(self, method, s, iterations=1, extraOptions = None):          """Reconstruct an object.          :param method: Method to use for reconstruction. @@ -172,6 +172,8 @@ class OpTomo(scipy.sparse.linalg.LinearOperator):          :param extraOptions: Extra options to use during reconstruction (i.e. for cfg['option']).          :type extraOptions: :class:`dict`          """ +        if extraOptions is None: +            extraOptions={}          s = self.__checkArray(s, self.sshape)          sid = self.data_mod.link('-sino',self.pg,s)          v = np.zeros(self.vshape,dtype=np.float32) diff --git a/python/astra/utils.pyx b/python/astra/utils.pyx index 52c2a8d..34d1902 100644 --- a/python/astra/utils.pyx +++ b/python/astra/utils.pyx @@ -32,7 +32,7 @@ import six  if six.PY3:      import builtins  else: -    import __builtin__ +    import __builtin__ as builtins  from libcpp.string cimport string  from libcpp.vector cimport vector  from libcpp.list cimport list @@ -95,14 +95,14 @@ cdef void readDict(XMLNode root, _dc):      dc = convert_item(_dc)      for item in dc:          val = dc[item] -        if isinstance(val, __builtins__.list) or isinstance(val, tuple): +        if isinstance(val, builtins.list) or isinstance(val, tuple):              val = np.array(val,dtype=np.float64)          if isinstance(val, np.ndarray):              if val.size == 0:                  break              listbase = root.addChildNode(item)              contig_data = np.ascontiguousarray(val,dtype=np.float64) -            data = <double*>np.PyArray_DATA(contig_data)  +            data = <double*>np.PyArray_DATA(contig_data)              if val.ndim == 2:                  listbase.setContent(data, val.shape[1], val.shape[0], False)              elif val.ndim == 1: @@ -119,6 +119,8 @@ cdef void readDict(XMLNode root, _dc):              if item == six.b('type'):                  root.addAttribute(< string > six.b('type'), <string> wrap_to_bytes(val))              else: +                if isinstance(val, builtins.bool): +                    val = int(val)                  itm = root.addChildNode(item, wrap_to_bytes(val))  cdef void readOptions(XMLNode node, dc): @@ -131,7 +133,7 @@ cdef void readOptions(XMLNode node, dc):          val = dc[item]          if node.hasOption(item):              raise Exception('Duplicate Option: %s' % item) -        if isinstance(val, __builtins__.list) or isinstance(val, tuple): +        if isinstance(val, builtins.list) or isinstance(val, tuple):              val = np.array(val,dtype=np.float64)          if isinstance(val, np.ndarray):              if val.size == 0: @@ -147,6 +149,8 @@ cdef void readOptions(XMLNode node, dc):              else:                  raise Exception("Only 1 or 2 dimensions are allowed")          else: +            if isinstance(val, builtins.bool): +                val = int(val)              node.addOption(item, wrap_to_bytes(val))  cdef configToDict(Config *cfg):  | 
