Software Open Access

Diffusion tensor imaging codes from "Primal-dual block-proximal splitting for a class of non-convex problems"

Mazurenko, Stanislav; Jauhiainen, Jyrki; Valkonen, Tuomo

MARC21 XML Export

<?xml version='1.0' encoding='UTF-8'?>
<record xmlns="">
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">DTI</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">Julia</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">NL-PDPS</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">block-adapted</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">diffusion tensor imaging</subfield>
  <controlfield tag="005">20200215072052.0</controlfield>
  <controlfield tag="001">3528137</controlfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">University of Eastern Finland</subfield>
    <subfield code="0">(orcid)0000-0001-6711-6997</subfield>
    <subfield code="a">Jauhiainen, Jyrki</subfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">University of Helsinki &amp; Escuela Politécnica Nacional</subfield>
    <subfield code="0">(orcid)0000-0001-6683-3572</subfield>
    <subfield code="a">Valkonen, Tuomo</subfield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="s">6009944</subfield>
    <subfield code="z">md5:00ad08cd28a5a9a583cc25635258f135</subfield>
    <subfield code="u"></subfield>
  <datafield tag="542" ind1=" " ind2=" ">
    <subfield code="l">open</subfield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="c">2019-11-04</subfield>
  <datafield tag="909" ind1="C" ind2="O">
    <subfield code="p">software</subfield>
    <subfield code="p">user-fips</subfield>
    <subfield code="o"></subfield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="u">Loschmidt Laboratories, Masaryk University</subfield>
    <subfield code="0">(orcid)0000-0003-3659-4819</subfield>
    <subfield code="a">Mazurenko, Stanislav</subfield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">Diffusion tensor imaging codes from "Primal-dual block-proximal splitting for a class of non-convex problems"</subfield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">user-fips</subfield>
  <datafield tag="536" ind1=" " ind2=" ">
    <subfield code="c">EP/P021298/1</subfield>
    <subfield code="a">PARTIAL Analysis of Relations in Tasks of Inversion for Algorithmic Leverage</subfield>
  <datafield tag="540" ind1=" " ind2=" ">
    <subfield code="u"></subfield>
    <subfield code="a">Creative Commons Attribution 4.0 International</subfield>
  <datafield tag="650" ind1="1" ind2="7">
    <subfield code="a">cc-by</subfield>
    <subfield code="2"></subfield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">&lt;p&gt;These are the Julia codes for the diffusion tensor imaging experiments of the manuscript &lt;em&gt;&amp;ldquo;Primal-dual block-proximal splitting for a class of non-convex problems&amp;rdquo;&lt;/em&gt; by S. Mazurenko, J. Jauhiainen, and T. Valkonen (&lt;a href=""&gt;arXiv:1911.06284&lt;/a&gt;). The codes were written by T. Valkonen.&lt;/p&gt;


&lt;p&gt;These codes we written for Julia 1.1 but are known to work with Julia 1.2. The Julia package prequisites are from May 2019 when our experiments were run, and have not been updated to maintain the same environment we used to do the experiments in the manuscript. You may get Julia from;/p&gt;

&lt;p&gt;To generate the Helix test data (the data we have generated are included), the Teem toolkit is needed. You may download it from Please note that the version included in Homebrew is missing the &lt;code&gt;emap&lt;/code&gt; binary that is required for the visualisation; indeed as of May 2019 the building of this binary is disabled in Teem. You will therefore need to build Teem manually from source, applying the included &lt;code&gt;teem-1.11.0-emap_build_fix.patch&lt;/code&gt;. In your unix shell, in the top-level directory of the Teem toolkit source codes, run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ patch -p1 &amp;lt; path_to_these_codes/teem-1.11.0-emap_build_fix.patch

&lt;p&gt;Then build and install Teem according to instructions.&lt;/p&gt;

&lt;p&gt;The visualisation further requires the &lt;code&gt;open -g&lt;/code&gt; to open the generated PDF file in a PDF viewer that will correctly refresh the file on further launches. This is the case on MacOS with &lt;em&gt;Preview&lt;/em&gt; or &lt;em&gt;Skim&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Navigate your unix shell to the directory containing this and then run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ julia --project=BlockPDPS

&lt;p&gt;Afterwards in the Julia shell, type:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; using BlockPDPS

&lt;p&gt;This may take a while as Julia builds any missing dependencies. Then, to run the default experiments, run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; test_dti_helix(visualise=true)

&lt;p&gt;This will use any cached data in the &lt;code&gt;data/&lt;/code&gt; subdirectory of the current working directory. If no cached data is found, new data will be generated using Teem. If you use provided data and set &lt;code&gt;visualise=false&lt;/code&gt;, the Teem dependency will be removed. The results are saved under the &lt;code&gt;img/&lt;/code&gt; subdirectory of the current working directory.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;test_dti_helix&lt;/code&gt; function has further parameters; please see the source code for details.&lt;/p&gt;</subfield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">doi</subfield>
    <subfield code="i">isVersionOf</subfield>
    <subfield code="a">10.5281/zenodo.3528136</subfield>
  <datafield tag="024" ind1=" " ind2=" ">
    <subfield code="a">10.5281/zenodo.3528137</subfield>
    <subfield code="2">doi</subfield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">software</subfield>
All versions This version
Views 4646
Downloads 22
Data volume 12.0 MB12.0 MB
Unique views 3636
Unique downloads 22


Cite as