Software Open Access

odlgroup/odl: ODL 0.7.0

Jonas Adler; Holger Kohr; Axel Ringh; Julian Moosmann; sbanert; Matthias J. Ehrhardt; Gregory R. Lee; niinimaki; bgris; Olivier Verdier; Johan Karlsson; zickert; Willem Jan Palenstijn; Ozan Öktem; Chong Chen; Hector Andrade Loarca; Michael Lohmann


JSON Export

{
  "files": [
    {
      "links": {
        "self": "https://zenodo.org/api/files/57388b23-bf36-486d-9ec5-8a247b8c4efc/odlgroup/odl-v0.7.0.zip"
      }, 
      "checksum": "md5:76aa2c05b7d7196fd684cbb48ec1a699", 
      "bucket": "57388b23-bf36-486d-9ec5-8a247b8c4efc", 
      "key": "odlgroup/odl-v0.7.0.zip", 
      "type": "zip", 
      "size": 1781546
    }
  ], 
  "owners": [
    27255
  ], 
  "doi": "10.5281/zenodo.1442734", 
  "stats": {
    "version_unique_downloads": 22.0, 
    "unique_views": 317.0, 
    "views": 360.0, 
    "version_views": 648.0, 
    "unique_downloads": 13.0, 
    "version_unique_views": 551.0, 
    "volume": 32067828.0, 
    "version_downloads": 35.0, 
    "downloads": 18.0, 
    "version_volume": 59138071.0
  }, 
  "links": {
    "doi": "https://doi.org/10.5281/zenodo.1442734", 
    "conceptdoi": "https://doi.org/10.5281/zenodo.592765", 
    "bucket": "https://zenodo.org/api/files/57388b23-bf36-486d-9ec5-8a247b8c4efc", 
    "conceptbadge": "https://zenodo.org/badge/doi/10.5281/zenodo.592765.svg", 
    "html": "https://zenodo.org/record/1442734", 
    "latest_html": "https://zenodo.org/record/1442734", 
    "badge": "https://zenodo.org/badge/doi/10.5281/zenodo.1442734.svg", 
    "latest": "https://zenodo.org/api/records/1442734"
  }, 
  "conceptdoi": "10.5281/zenodo.592765", 
  "created": "2018-10-02T13:49:57.507704+00:00", 
  "updated": "2020-01-25T07:25:44.954427+00:00", 
  "conceptrecid": "592765", 
  "revision": 7, 
  "id": 1442734, 
  "metadata": {
    "access_right_category": "success", 
    "doi": "10.5281/zenodo.1442734", 
    "description": "<p>This release is a big one as it includes the cumulative work over a period of 1 1/2 years. It is planned to be the last release before version 1.0.0 where we expect to land a number of exciting new features.</p>\n<p>What follows are the <strong>highlights</strong> of the release. For a more detailed list of all changes, please refer to <a href=\"https://odlgroup.github.io/odl/release_notes.html\">the release notes in the documentation</a>.</p>\nNative multi-indexing of ODL space elements\n<p>The <code>DiscreteLpElement</code> and <code>Tensor</code> (renamed from <code>FnBaseVector</code>) data structures now natively support almost all kinds of Numpy \"fancy\" indexing. \nAt the same time, the spaces <code>DiscreteLp</code> and <code>Tensorspace</code> (renamed from <code>FnBase</code>) have more advanced indexing capabilities as well. Up to few exceptions, <code>elem[indices] in space[indices]</code> is always fulfilled.\nAlongside, <code>ProductSpace</code> and its elements also support more advanced indexing, in particular in the case of power spaces.</p>\n<p>Furthermore, integration with Numpy has been further improved with the implementation of the <code>__array_ufunc__</code> interface. This allows to transparently use ODL objects in calls to Numpy UFuncs, e.g., <code>np.cos(odl_obj, out=odl_obj)</code> or <code>np.add.reduce(odl_in, axis=0, out=odl_out)</code> \u2014 both these examples were not possible with the <code>__array__</code> and <code>__array_wrap__</code> interfaces.</p>\n<p>Unfortunately, this changeset makes the <code>odlcuda</code> plugin unusable since it only supports linear indexing. A much more powerful replacement based on CuPy will be added in version 1.0.0.</p>\nIntegration with deep learning frameworks\n<p>ODL is now integrated with three major deep learning frameworks: TensorFlow, PyTorch and Theano. In particular, ODL <code>Operator</code> and <code>Functional</code> objects can be used as layers in neural networks, with support for automatic differentiation and backpropagation. This makes a lot of (inverse) problems that ODL can handle well, e.g., tomography, accessible to the computation engines of the deep learning field, and opens up a wide range of possibilities to combine the two.</p>\n<p>The implementation of this functionality and examples of its usage can be found in the packages <a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/tensorflow\"><code>tensorflow</code></a>, <a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/torch\"><code>torch</code></a> and <a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/theano\"><code>theano</code></a> in the <code>odl.contrib</code> sub-package (see below).</p>\nNew <code>contrib</code> sub-package\n<p>The core ODL library is intended to stay focused on general-purpose classes and data structures, and good code quality is a major goal. This implies that contributions need to undergo scrutiny in a review process, and that some contributions might not be a good fit if they are too specific for certain applications.</p>\n<p>For this reason, we have created a new <a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib\"><code>contrib</code></a> sub-package that is intended for exactly this kind of code. As of writing this, <code>contrib</code> already contains a number of highly useful modules:</p>\n<ul>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/datasets\"><code>datasets</code></a>: Loaders and utility code for publicly available datasets (currently FIPS CT, Mayo clinic human CT, Tu Graz MRI and some image data)</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/fom\"><code>fom</code></a>: Implementations of Figures-of-Merit for image quality assessment</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/mrc\"><code>mrc</code></a>: Reader and writer for the MRC 2014 data format in electron microscopy</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/param_opt\"><code>param_opt</code></a>: Optimization strategies for method hyperparameters</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/pyshearlab\"><code>pyshearlab</code></a>: Integration of the <code>pyshearlab</code> Python library for shearlet decomposition and analysis</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/shearlab\"><code>shearlab</code></a>: Integration of the <code>Shearlab.jl</code> Julia shearlet library</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/solvers\"><code>solvers</code></a>: More exotic functionals and optimization methods than in the core ODL library</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/tomo\"><code>tomo</code></a>: Vendor- or application-specific geometries (currently Elekta ICON and XIV)</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/tensorflow\"><code>tensorflow</code></a>: Integration of ODL with TensorFlow</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/theano\"><code>theano</code></a>: Integration of ODL with Theano</li>\n<li><a href=\"https://github.com/odlgroup/odl/tree/master/odl/contrib/torch\"><code>torch</code></a>: Integration of ODL with PyTorch</li>\n</ul>\nOverhaul of tomographic geometries\n<p>The classes for representing tomographic geometries in <code>odl.tomo</code> have undergone a major update, resulting in a consistent definition of coordinate systems across all cases, proper documentation, vectorization and broadcasting semantics in all methods that compute vectors, and significant speed-up of backprojection due to better axis handling.\nAdditionally, factory functions <code>cone_beam_geometry</code> and <code>helical_geometry</code> have been added as a simpler and more accessible way to create cone beam geometries.</p>", 
    "license": {
      "id": "other-open"
    }, 
    "title": "odlgroup/odl: ODL 0.7.0", 
    "relations": {
      "version": [
        {
          "count": 3, 
          "index": 2, 
          "parent": {
            "pid_type": "recid", 
            "pid_value": "592765"
          }, 
          "is_last": true, 
          "last_child": {
            "pid_type": "recid", 
            "pid_value": "1442734"
          }
        }
      ]
    }, 
    "version": "v0.7.0", 
    "publication_date": "2018-09-09", 
    "creators": [
      {
        "affiliation": "KTH Royal institute of Technology", 
        "name": "Jonas Adler"
      }, 
      {
        "affiliation": "Thermo Fisher Scientific (@thermofisher)", 
        "name": "Holger Kohr"
      }, 
      {
        "affiliation": "KTH Royal Institute of Technology", 
        "name": "Axel Ringh"
      }, 
      {
        "affiliation": "Helmholtz-Zentrum Geesthacht", 
        "name": "Julian Moosmann"
      }, 
      {
        "affiliation": "KTH Royal Institute of Technology", 
        "name": "sbanert"
      }, 
      {
        "affiliation": "University of Bath", 
        "name": "Matthias J. Ehrhardt"
      }, 
      {
        "affiliation": "Cincinnati Children's Hospital Medical Center", 
        "name": "Gregory R. Lee"
      }, 
      {
        "name": "niinimaki"
      }, 
      {
        "name": "bgris"
      }, 
      {
        "affiliation": "Mathematician", 
        "name": "Olivier Verdier"
      }, 
      {
        "affiliation": "KTH Royal Institute of Technology", 
        "name": "Johan Karlsson"
      }, 
      {
        "name": "zickert"
      }, 
      {
        "name": "Willem Jan Palenstijn"
      }, 
      {
        "affiliation": "KTH - Royal Institute of Technology", 
        "name": "Ozan \u00d6ktem"
      }, 
      {
        "affiliation": "LSEC, ICMSEC, Academy of Mathematics and Systems Science, Chinese Academy of Sciences", 
        "name": "Chong Chen"
      }, 
      {
        "affiliation": "Technische Universit\u00e4t Berlin (TUB)", 
        "name": "Hector Andrade Loarca"
      }, 
      {
        "name": "Michael Lohmann"
      }
    ], 
    "access_right": "open", 
    "resource_type": {
      "type": "software", 
      "title": "Software"
    }, 
    "related_identifiers": [
      {
        "scheme": "url", 
        "identifier": "https://github.com/odlgroup/odl/tree/v0.7.0", 
        "relation": "isSupplementTo"
      }, 
      {
        "scheme": "doi", 
        "identifier": "10.5281/zenodo.592765", 
        "relation": "isVersionOf"
      }
    ]
  }
}
648
35
views
downloads
All versions This version
Views 648360
Downloads 3518
Data volume 59.1 MB32.1 MB
Unique views 551317
Unique downloads 2213

Share

Cite as