Loading pyconrad/__init__.py +4 −10 Original line number Diff line number Diff line Loading @@ -12,20 +12,14 @@ except: __version__ = 'unknown' from jpype import JDouble, JArray, JInt, JString, JShort, JProxy, JByte, JBoolean, JChar, JLong, JFloat, JClass, JIterator, java, JPackage, attachThreadToJVM, detachThreadFromJVM try: from jpype import JavaException as JException except Exception as e: from jpype import JException from jpype import JDouble, JArray, JInt, JString, JShort, JProxy, JByte, JBoolean, JChar, JLong, JFloat, JClass, JIterator, java, JPackage, attachThreadToJVM, JException, detachThreadFromJVM import jpype import jpype.imports # TODO: deprecate PyGrid from ._pygrid import PyGrid from pyconrad._pyconrad import setup_pyconrad, start_gui, start_reconstruction_pipeline_gui, is_initialized, is_gui_started, terminate_pyconrad from ._autocomplete_files.autocomplete_conrad import AutoCompleteConrad from pyconrad._autocomplete_files.autocomplete_conrad import AutoCompleteConrad from pyconrad._classgetter import ClassGetter from .constants import java_float_dtype from ._autocomplete import generate_autocomplete_file from pyconrad.constants import java_float_dtype from pyconrad._autocomplete import generate_autocomplete_file from pyconrad._imageutils import imshow, to_conrad_grid import pyconrad.config import jpype.imports Loading pyconrad/_autocomplete.py +14 −14 Original line number Diff line number Diff line import pyconrad import os import warnings from mock import MagicMock import pyconrad def generate_autocomplete_file(file, conrad_dir: str, classname: str, alsoMembers=True): Loading Loading @@ -50,15 +55,10 @@ def generate_autocomplete_file(file, conrad_dir:str, classname:str, alsoMembers writer.writelines(' ' * indentation + filename + ' = None\r\n') if __name__ == '__main__': generate_autocomplete_file('/home/stephan/foo.py', '/home/stephan/projects/CONRAD/src', 'AutoCompleteConrad', True) print(open('/home/stephan/foo.py', 'r').read()) import warnings class AutoCompleteConrad(pyconrad.ClassGetter): def __init__(self): warnings.warn('This class should never be initialized! Use it as type hint: #type: pyconrad.AutoCompleteConrad') AutoCompleteConrad = MagicMock() pyconrad/_classgetter.py +14 −12 Original line number Diff line number Diff line import pyconrad from jpype import JPackage import pyconrad from pyconrad._autocomplete import AutoCompleteConrad from pyconrad._pyconrad import assert_pyconrad_initialization Loading @@ -23,57 +25,57 @@ class ClassGetter: self._imported_namespaces.append(namespaces) @property def SimpleVector(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleVector: def SimpleVector(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleVector: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.numerics.SimpleVector') @property def PointND(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.geometry.shapes.simple.PointND: def PointND(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.geometry.shapes.simple.PointND: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.geometry.shapes.simple.PointND') @property def SimpleMatrix(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleMatrix: def SimpleMatrix(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleMatrix: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.numerics.SimpleMatrix') @property def NumericGrid(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.NumericGrid: def NumericGrid(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.NumericGrid: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.NumericGrid') @property def Grid1D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid1D: def Grid1D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid1D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid1D') @property def Grid2D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid2D: def Grid2D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid2D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid2D') @property def Grid3D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid3D: def Grid3D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid3D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid3D') @property def Grid4D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid4D: def Grid4D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid4D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid4D') @property def OpenCLGrid1D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid1D: def OpenCLGrid1D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid1D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid1D') @property def OpenCLGrid2D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid2D: def OpenCLGrid2D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid2D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid2D') @property def OpenCLGrid3D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid3D: def OpenCLGrid3D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid3D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid3D') Loading pyconrad/_extend_conrad_classes.py +14 −5 Original line number Diff line number Diff line Loading @@ -9,20 +9,24 @@ import numpy as np from jpype import JArray, JClass, JDouble, JInt, JPackage, JProxy import pyconrad from pyconrad._java_pyconrad import JavaPyConrad from ._imageutils import ImageUtil from ._pygrid import PyGrid from .constants import java_float_dtype try: import pyconrad._vtk except Exception: import warnings warnings.warn("Could not import pyconrad._vtk") from pyconrad._java_pyconrad import JavaPyConrad from ._imageutils import ImageUtil from ._pygrid import PyGrid from .constants import java_float_dtype del JClass.__setattr__ try: import pyopencl as cl except: except Exception: cl = None Loading Loading @@ -180,6 +184,10 @@ def _extend_numeric_grid(): def _numeric_grid_shape(self): return tuple(reversed(self.getSize()[:])) @property def _numeric_grid_size(self): return tuple(self.getSize()[:]) @property def _numeric_grid_ndim(self): return len(self.getSize()[:]) Loading Loading @@ -232,6 +240,7 @@ def _extend_numeric_grid(): grid_class.__getitem__ = _numeric_grid_getitem grid_class.__setitem__ = _numeric_grid_setitem grid_class.shape = _numeric_grid_shape grid_class.size = _numeric_grid_size grid_class.ndim = _numeric_grid_ndim grid_class.pygrid = _pygrid grid_class.__array__ = _numpy_grid Loading pyconrad/_pyconrad.py +7 −5 Original line number Diff line number Diff line Loading @@ -10,18 +10,20 @@ import warnings from os.path import join from pathlib import Path import jpype from jpype import (JArray, JClass, JDouble, JPackage, JProxy, attachThreadToJVM, detachThreadFromJVM, getDefaultJVMPath, isJVMStarted, java, shutdownJVM, startJVM) from . import _download_conrad, _extend_conrad_classes from . import _windowlistener as wl try: from jpype import JavaException as JException except Exception as e: from jpype import JException import jpype from . import _download_conrad, _extend_conrad_classes from . import _windowlistener as wl module_path = os.path.dirname(__file__) Loading Loading @@ -114,7 +116,7 @@ class PyConrad: _download_conrad.download_conrad() os.chdir(self.__conrad_path) startJVM(getDefaultJVMPath(), conrad_source_and_libs, "-Xmx%s" % max_ram, "-Xmn%s" % min_ram) "-Xmx%s" % max_ram, "-Xmn%s" % min_ram, convertStrings=True) os.chdir(curr_directory) self._check_jre_version() Loading Loading
pyconrad/__init__.py +4 −10 Original line number Diff line number Diff line Loading @@ -12,20 +12,14 @@ except: __version__ = 'unknown' from jpype import JDouble, JArray, JInt, JString, JShort, JProxy, JByte, JBoolean, JChar, JLong, JFloat, JClass, JIterator, java, JPackage, attachThreadToJVM, detachThreadFromJVM try: from jpype import JavaException as JException except Exception as e: from jpype import JException from jpype import JDouble, JArray, JInt, JString, JShort, JProxy, JByte, JBoolean, JChar, JLong, JFloat, JClass, JIterator, java, JPackage, attachThreadToJVM, JException, detachThreadFromJVM import jpype import jpype.imports # TODO: deprecate PyGrid from ._pygrid import PyGrid from pyconrad._pyconrad import setup_pyconrad, start_gui, start_reconstruction_pipeline_gui, is_initialized, is_gui_started, terminate_pyconrad from ._autocomplete_files.autocomplete_conrad import AutoCompleteConrad from pyconrad._autocomplete_files.autocomplete_conrad import AutoCompleteConrad from pyconrad._classgetter import ClassGetter from .constants import java_float_dtype from ._autocomplete import generate_autocomplete_file from pyconrad.constants import java_float_dtype from pyconrad._autocomplete import generate_autocomplete_file from pyconrad._imageutils import imshow, to_conrad_grid import pyconrad.config import jpype.imports Loading
pyconrad/_autocomplete.py +14 −14 Original line number Diff line number Diff line import pyconrad import os import warnings from mock import MagicMock import pyconrad def generate_autocomplete_file(file, conrad_dir: str, classname: str, alsoMembers=True): Loading Loading @@ -50,15 +55,10 @@ def generate_autocomplete_file(file, conrad_dir:str, classname:str, alsoMembers writer.writelines(' ' * indentation + filename + ' = None\r\n') if __name__ == '__main__': generate_autocomplete_file('/home/stephan/foo.py', '/home/stephan/projects/CONRAD/src', 'AutoCompleteConrad', True) print(open('/home/stephan/foo.py', 'r').read()) import warnings class AutoCompleteConrad(pyconrad.ClassGetter): def __init__(self): warnings.warn('This class should never be initialized! Use it as type hint: #type: pyconrad.AutoCompleteConrad') AutoCompleteConrad = MagicMock()
pyconrad/_classgetter.py +14 −12 Original line number Diff line number Diff line import pyconrad from jpype import JPackage import pyconrad from pyconrad._autocomplete import AutoCompleteConrad from pyconrad._pyconrad import assert_pyconrad_initialization Loading @@ -23,57 +25,57 @@ class ClassGetter: self._imported_namespaces.append(namespaces) @property def SimpleVector(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleVector: def SimpleVector(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleVector: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.numerics.SimpleVector') @property def PointND(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.geometry.shapes.simple.PointND: def PointND(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.geometry.shapes.simple.PointND: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.geometry.shapes.simple.PointND') @property def SimpleMatrix(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleMatrix: def SimpleMatrix(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.numerics.SimpleMatrix: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.numerics.SimpleMatrix') @property def NumericGrid(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.NumericGrid: def NumericGrid(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.NumericGrid: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.NumericGrid') @property def Grid1D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid1D: def Grid1D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid1D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid1D') @property def Grid2D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid2D: def Grid2D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid2D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid2D') @property def Grid3D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid3D: def Grid3D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid3D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid3D') @property def Grid4D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid4D: def Grid4D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.Grid4D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.Grid4D') @property def OpenCLGrid1D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid1D: def OpenCLGrid1D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid1D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid1D') @property def OpenCLGrid2D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid2D: def OpenCLGrid2D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid2D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid2D') @property def OpenCLGrid3D(self) -> pyconrad.AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid3D: def OpenCLGrid3D(self) -> AutoCompleteConrad.edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid3D: assert_pyconrad_initialization() return pyconrad.JClass('edu.stanford.rsl.conrad.data.numeric.opencl.OpenCLGrid3D') Loading
pyconrad/_extend_conrad_classes.py +14 −5 Original line number Diff line number Diff line Loading @@ -9,20 +9,24 @@ import numpy as np from jpype import JArray, JClass, JDouble, JInt, JPackage, JProxy import pyconrad from pyconrad._java_pyconrad import JavaPyConrad from ._imageutils import ImageUtil from ._pygrid import PyGrid from .constants import java_float_dtype try: import pyconrad._vtk except Exception: import warnings warnings.warn("Could not import pyconrad._vtk") from pyconrad._java_pyconrad import JavaPyConrad from ._imageutils import ImageUtil from ._pygrid import PyGrid from .constants import java_float_dtype del JClass.__setattr__ try: import pyopencl as cl except: except Exception: cl = None Loading Loading @@ -180,6 +184,10 @@ def _extend_numeric_grid(): def _numeric_grid_shape(self): return tuple(reversed(self.getSize()[:])) @property def _numeric_grid_size(self): return tuple(self.getSize()[:]) @property def _numeric_grid_ndim(self): return len(self.getSize()[:]) Loading Loading @@ -232,6 +240,7 @@ def _extend_numeric_grid(): grid_class.__getitem__ = _numeric_grid_getitem grid_class.__setitem__ = _numeric_grid_setitem grid_class.shape = _numeric_grid_shape grid_class.size = _numeric_grid_size grid_class.ndim = _numeric_grid_ndim grid_class.pygrid = _pygrid grid_class.__array__ = _numpy_grid Loading
pyconrad/_pyconrad.py +7 −5 Original line number Diff line number Diff line Loading @@ -10,18 +10,20 @@ import warnings from os.path import join from pathlib import Path import jpype from jpype import (JArray, JClass, JDouble, JPackage, JProxy, attachThreadToJVM, detachThreadFromJVM, getDefaultJVMPath, isJVMStarted, java, shutdownJVM, startJVM) from . import _download_conrad, _extend_conrad_classes from . import _windowlistener as wl try: from jpype import JavaException as JException except Exception as e: from jpype import JException import jpype from . import _download_conrad, _extend_conrad_classes from . import _windowlistener as wl module_path = os.path.dirname(__file__) Loading Loading @@ -114,7 +116,7 @@ class PyConrad: _download_conrad.download_conrad() os.chdir(self.__conrad_path) startJVM(getDefaultJVMPath(), conrad_source_and_libs, "-Xmx%s" % max_ram, "-Xmn%s" % min_ram) "-Xmx%s" % max_ram, "-Xmn%s" % min_ram, convertStrings=True) os.chdir(curr_directory) self._check_jre_version() Loading