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


DCAT Export

<?xml version='1.0' encoding='utf-8'?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:adms="http://www.w3.org/ns/adms#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dct="http://purl.org/dc/terms/" xmlns:dctype="http://purl.org/dc/dcmitype/" xmlns:dcat="http://www.w3.org/ns/dcat#" xmlns:duv="http://www.w3.org/ns/duv#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:frapo="http://purl.org/cerif/frapo/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:gsp="http://www.opengis.net/ont/geosparql#" xmlns:locn="http://www.w3.org/ns/locn#" xmlns:org="http://www.w3.org/ns/org#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:prov="http://www.w3.org/ns/prov#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:vcard="http://www.w3.org/2006/vcard/ns#" xmlns:wdrs="http://www.w3.org/2007/05/powder-s#">
  <rdf:Description rdf:about="https://doi.org/10.5281/zenodo.1442734">
    <rdf:type rdf:resource="http://www.w3.org/ns/dcat#Dataset"/>
    <dct:type rdf:resource="http://purl.org/dc/dcmitype/Software"/>
    <dct:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://doi.org/10.5281/zenodo.1442734</dct:identifier>
    <foaf:page rdf:resource="https://doi.org/10.5281/zenodo.1442734"/>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Jonas Adler</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>KTH Royal institute of Technology</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Holger Kohr</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Thermo Fisher Scientific (@thermofisher)</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Axel Ringh</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>KTH Royal Institute of Technology</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Julian Moosmann</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Helmholtz-Zentrum Geesthacht</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>sbanert</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>KTH Royal Institute of Technology</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Matthias J. Ehrhardt</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>University of Bath</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Gregory R. Lee</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Cincinnati Children's Hospital Medical Center</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>niinimaki</foaf:name>
        <org:memberOf/>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>bgris</foaf:name>
        <org:memberOf/>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Olivier Verdier</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Mathematician</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Johan Karlsson</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>KTH Royal Institute of Technology</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>zickert</foaf:name>
        <org:memberOf/>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Willem Jan Palenstijn</foaf:name>
        <org:memberOf/>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Ozan Öktem</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>KTH - Royal Institute of Technology</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Chong Chen</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>LSEC, ICMSEC, Academy of Mathematics and Systems Science, Chinese Academy of Sciences</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Hector Andrade Loarca</foaf:name>
        <org:memberOf>
          <foaf:Organization>
            <foaf:name>Technische Universität Berlin (TUB)</foaf:name>
          </foaf:Organization>
        </org:memberOf>
      </rdf:Description>
    </dct:creator>
    <dct:creator>
      <rdf:Description>
        <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
        <foaf:name>Michael Lohmann</foaf:name>
        <org:memberOf/>
      </rdf:Description>
    </dct:creator>
    <dct:title>odlgroup/odl: ODL 0.7.0</dct:title>
    <dct:publisher>
      <foaf:Agent>
        <foaf:name>Zenodo</foaf:name>
      </foaf:Agent>
    </dct:publisher>
    <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#gYear">2018</dct:issued>
    <dct:issued rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2018-09-09</dct:issued>
    <owl:sameAs rdf:resource="https://zenodo.org/record/1442734"/>
    <adms:identifier>
      <adms:Identifier>
        <skos:notation rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://zenodo.org/record/1442734</skos:notation>
        <adms:schemeAgency>url</adms:schemeAgency>
      </adms:Identifier>
    </adms:identifier>
    <dct:relation rdf:resource="https://github.com/odlgroup/odl/tree/v0.7.0"/>
    <dct:isVersionOf rdf:resource="https://doi.org/10.5281/zenodo.592765"/>
    <owl:versionInfo>v0.7.0</owl:versionInfo>
    <dct:description>&lt;p&gt;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.&lt;/p&gt; &lt;p&gt;What follows are the &lt;strong&gt;highlights&lt;/strong&gt; of the release. For a more detailed list of all changes, please refer to &lt;a href="https://odlgroup.github.io/odl/release_notes.html"&gt;the release notes in the documentation&lt;/a&gt;.&lt;/p&gt; Native multi-indexing of ODL space elements &lt;p&gt;The &lt;code&gt;DiscreteLpElement&lt;/code&gt; and &lt;code&gt;Tensor&lt;/code&gt; (renamed from &lt;code&gt;FnBaseVector&lt;/code&gt;) data structures now natively support almost all kinds of Numpy "fancy" indexing. At the same time, the spaces &lt;code&gt;DiscreteLp&lt;/code&gt; and &lt;code&gt;Tensorspace&lt;/code&gt; (renamed from &lt;code&gt;FnBase&lt;/code&gt;) have more advanced indexing capabilities as well. Up to few exceptions, &lt;code&gt;elem[indices] in space[indices]&lt;/code&gt; is always fulfilled. Alongside, &lt;code&gt;ProductSpace&lt;/code&gt; and its elements also support more advanced indexing, in particular in the case of power spaces.&lt;/p&gt; &lt;p&gt;Furthermore, integration with Numpy has been further improved with the implementation of the &lt;code&gt;__array_ufunc__&lt;/code&gt; interface. This allows to transparently use ODL objects in calls to Numpy UFuncs, e.g., &lt;code&gt;np.cos(odl_obj, out=odl_obj)&lt;/code&gt; or &lt;code&gt;np.add.reduce(odl_in, axis=0, out=odl_out)&lt;/code&gt; — both these examples were not possible with the &lt;code&gt;__array__&lt;/code&gt; and &lt;code&gt;__array_wrap__&lt;/code&gt; interfaces.&lt;/p&gt; &lt;p&gt;Unfortunately, this changeset makes the &lt;code&gt;odlcuda&lt;/code&gt; plugin unusable since it only supports linear indexing. A much more powerful replacement based on CuPy will be added in version 1.0.0.&lt;/p&gt; Integration with deep learning frameworks &lt;p&gt;ODL is now integrated with three major deep learning frameworks: TensorFlow, PyTorch and Theano. In particular, ODL &lt;code&gt;Operator&lt;/code&gt; and &lt;code&gt;Functional&lt;/code&gt; 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.&lt;/p&gt; &lt;p&gt;The implementation of this functionality and examples of its usage can be found in the packages &lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/tensorflow"&gt;&lt;code&gt;tensorflow&lt;/code&gt;&lt;/a&gt;, &lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/torch"&gt;&lt;code&gt;torch&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/theano"&gt;&lt;code&gt;theano&lt;/code&gt;&lt;/a&gt; in the &lt;code&gt;odl.contrib&lt;/code&gt; sub-package (see below).&lt;/p&gt; New &lt;code&gt;contrib&lt;/code&gt; sub-package &lt;p&gt;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.&lt;/p&gt; &lt;p&gt;For this reason, we have created a new &lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib"&gt;&lt;code&gt;contrib&lt;/code&gt;&lt;/a&gt; sub-package that is intended for exactly this kind of code. As of writing this, &lt;code&gt;contrib&lt;/code&gt; already contains a number of highly useful modules:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/datasets"&gt;&lt;code&gt;datasets&lt;/code&gt;&lt;/a&gt;: Loaders and utility code for publicly available datasets (currently FIPS CT, Mayo clinic human CT, Tu Graz MRI and some image data)&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/fom"&gt;&lt;code&gt;fom&lt;/code&gt;&lt;/a&gt;: Implementations of Figures-of-Merit for image quality assessment&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/mrc"&gt;&lt;code&gt;mrc&lt;/code&gt;&lt;/a&gt;: Reader and writer for the MRC 2014 data format in electron microscopy&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/param_opt"&gt;&lt;code&gt;param_opt&lt;/code&gt;&lt;/a&gt;: Optimization strategies for method hyperparameters&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/pyshearlab"&gt;&lt;code&gt;pyshearlab&lt;/code&gt;&lt;/a&gt;: Integration of the &lt;code&gt;pyshearlab&lt;/code&gt; Python library for shearlet decomposition and analysis&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/shearlab"&gt;&lt;code&gt;shearlab&lt;/code&gt;&lt;/a&gt;: Integration of the &lt;code&gt;Shearlab.jl&lt;/code&gt; Julia shearlet library&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/solvers"&gt;&lt;code&gt;solvers&lt;/code&gt;&lt;/a&gt;: More exotic functionals and optimization methods than in the core ODL library&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/tomo"&gt;&lt;code&gt;tomo&lt;/code&gt;&lt;/a&gt;: Vendor- or application-specific geometries (currently Elekta ICON and XIV)&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/tensorflow"&gt;&lt;code&gt;tensorflow&lt;/code&gt;&lt;/a&gt;: Integration of ODL with TensorFlow&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/theano"&gt;&lt;code&gt;theano&lt;/code&gt;&lt;/a&gt;: Integration of ODL with Theano&lt;/li&gt; &lt;li&gt;&lt;a href="https://github.com/odlgroup/odl/tree/master/odl/contrib/torch"&gt;&lt;code&gt;torch&lt;/code&gt;&lt;/a&gt;: Integration of ODL with PyTorch&lt;/li&gt; &lt;/ul&gt; Overhaul of tomographic geometries &lt;p&gt;The classes for representing tomographic geometries in &lt;code&gt;odl.tomo&lt;/code&gt; 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. Additionally, factory functions &lt;code&gt;cone_beam_geometry&lt;/code&gt; and &lt;code&gt;helical_geometry&lt;/code&gt; have been added as a simpler and more accessible way to create cone beam geometries.&lt;/p&gt;</dct:description>
    <dct:accessRights rdf:resource="http://publications.europa.eu/resource/authority/access-right/PUBLIC"/>
    <dct:accessRights>
      <dct:RightsStatement rdf:about="info:eu-repo/semantics/openAccess">
        <rdfs:label>Open Access</rdfs:label>
      </dct:RightsStatement>
    </dct:accessRights>
    <dcat:distribution>
      <dcat:Distribution>
        <dcat:accessURL rdf:resource="https://doi.org/10.5281/zenodo.1442734"/>
      </dcat:Distribution>
    </dcat:distribution>
    <dcat:distribution>
      <dcat:Distribution>
        <dcat:accessURL>https://doi.org/10.5281/zenodo.1442734</dcat:accessURL>
        <dcat:byteSize>1781546</dcat:byteSize>
        <dcat:downloadURL>https://zenodo.org/record/1442734/files/odlgroup/odl-v0.7.0.zip</dcat:downloadURL>
        <dcat:mediaType>application/zip</dcat:mediaType>
      </dcat:Distribution>
    </dcat:distribution>
  </rdf:Description>
</rdf:RDF>
647
35
views
downloads
All versions This version
Views 647359
Downloads 3518
Data volume 59.1 MB32.1 MB
Unique views 550316
Unique downloads 2213

Share

Cite as