From 355a7e41f4128ac2a603d59ee0a4254c103e6459 Mon Sep 17 00:00:00 2001
From: Jan Caron <j.caron@fz-juelich.de>
Date: Mon, 10 Feb 2014 10:48:09 +0100
Subject: [PATCH] =?UTF-8?q?Intermediate=20commit=20on=20the=20way=20to=20t?=
 =?UTF-8?q?he=20new=20structure.=20regrid:=20Added=20many=20scripts=20for?=
 =?UTF-8?q?=20regridding=20by=20J=F6rn=20logging:=20Introduced=20logging?=
 =?UTF-8?q?=20scripts:=20Added=20Scripts=20for=20regridding=20and=20simula?=
 =?UTF-8?q?ting=20stuff=20for=20cooperations=20removed:=20Unused=20test=20?=
 =?UTF-8?q?scripts=20structure:=20Many=20new=20restructuring=20aspects=20a?=
 =?UTF-8?q?lready=20implemented?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .hgignore                                     |    1 -
 desktop.ini                                   |    2 +-
 docs/Pyramid Logo.png                         |  Bin 0 -> 31216 bytes
 docs/_static/sphinxdoc.css                    |  354 ++++++
 docs/conf.py                                  |   12 +-
 icon.ico => docs/icon.ico                     |  Bin
 docs/pyramid.numcore.rst                      |    1 -
 docs/pyramid.rst                              |   49 +-
 logfile.log                                   |    0
 pyramid/__init__.py                           |   20 +-
 pyramid/analytic.py                           |   28 +-
 pyramid/costfunction.py                       |    2 +
 pyramid/datacollection.py                     |   55 +-
 pyramid/kernel.py                             |   74 +-
 pyramid/logging.ini                           |    4 +-
 pyramid/magdata.py                            |  119 +-
 pyramid/numcore/__init__.py                   |    2 -
 pyramid/optimizer.py                          |  164 +--
 pyramid/phasemap.py                           |  179 ++-
 pyramid/phasemapper.py                        |   20 +-
 pyramid/projector.py                          |  227 ++--
 regrid/array.cpp                              |   46 +
 regrid/array.hpp                              |  162 +++
 regrid/gloripex.hpp                           |   95 ++
 regrid/numpy.hpp                              |   93 ++
 regrid/regrid.cc                              |   94 ++
 regrid/regrid.o                               |  Bin 0 -> 2790936 bytes
 regrid/test.py                                |   39 +
 scripts/compare methods/logfile.log           |    0
 scripts/create distributions/create_logo.py   |   12 +-
 scripts/create distributions/logfile.log      |    0
 scripts/edinburgh_test.py                     |   50 +
 scripts/images_poster.py                      |   63 +
 scripts/logfile.log                           |    1 +
 .../ch5-0-evaluation_and_comparison.py        |  186 ++-
 .../paper 1/ch5-1-evaluation_real_space.py    |  674 +++++-----
 .../paper 1/ch5-2-evaluation_fourier_space.py | 1101 ++++++++---------
 .../paper 1/ch5-3-comparison_of_methods.py    |  446 ++++---
 .../ch5-4-comparison_of_methods_new.py        |  499 ++++----
 scripts/paper 1/logfile.log                   |   85 ++
 scripts/simple_phasemapping.py                |   63 +
 scripts/vtk-interpolation.py                  |   61 -
 scripts/vtk_conversion.py                     |  159 +++
 scripts/vtk_interpolation.py                  |   73 ++
 scripts/vtk_to_numpy.py                       |   74 ++
 setup.py                                      |    2 +-
 tests/test_costfunction.py                    |    7 +
 tests/test_datacollection.py                  |    7 +
 tests/test_forwardmodel.py                    |    7 +
 tests/test_holoimage.py                       |   44 -
 tests/test_holoimage/ref_holo_img_b.txt       |    4 -
 tests/test_holoimage/ref_holo_img_g.txt       |    4 -
 tests/test_holoimage/ref_holo_img_r.txt       |    4 -
 tests/test_kernel.py                          |    7 +
 ...test_reconstructor.py => test_optimize.py} |    0
 55 files changed, 3548 insertions(+), 1927 deletions(-)
 create mode 100644 docs/Pyramid Logo.png
 create mode 100644 docs/_static/sphinxdoc.css
 rename icon.ico => docs/icon.ico (100%)
 create mode 100644 logfile.log
 create mode 100644 regrid/array.cpp
 create mode 100644 regrid/array.hpp
 create mode 100644 regrid/gloripex.hpp
 create mode 100644 regrid/numpy.hpp
 create mode 100644 regrid/regrid.cc
 create mode 100644 regrid/regrid.o
 create mode 100644 regrid/test.py
 create mode 100644 scripts/compare methods/logfile.log
 create mode 100644 scripts/create distributions/logfile.log
 create mode 100644 scripts/edinburgh_test.py
 create mode 100644 scripts/images_poster.py
 create mode 100644 scripts/logfile.log
 create mode 100644 scripts/paper 1/logfile.log
 create mode 100644 scripts/simple_phasemapping.py
 delete mode 100644 scripts/vtk-interpolation.py
 create mode 100644 scripts/vtk_conversion.py
 create mode 100644 scripts/vtk_interpolation.py
 create mode 100644 scripts/vtk_to_numpy.py
 create mode 100644 tests/test_costfunction.py
 create mode 100644 tests/test_datacollection.py
 create mode 100644 tests/test_forwardmodel.py
 delete mode 100644 tests/test_holoimage.py
 delete mode 100644 tests/test_holoimage/ref_holo_img_b.txt
 delete mode 100644 tests/test_holoimage/ref_holo_img_g.txt
 delete mode 100644 tests/test_holoimage/ref_holo_img_r.txt
 create mode 100644 tests/test_kernel.py
 rename tests/{test_reconstructor.py => test_optimize.py} (100%)

diff --git a/.hgignore b/.hgignore
index a9ff8eb..5f75704 100644
--- a/.hgignore
+++ b/.hgignore
@@ -8,7 +8,6 @@ syntax: glob
 *.so
 *.os
 *.c
-_*
 output*
 build*
 Pyramid.egg-info*
\ No newline at end of file
diff --git a/desktop.ini b/desktop.ini
index e3da4d7..ed829e6 100644
--- a/desktop.ini
+++ b/desktop.ini
@@ -1,5 +1,5 @@
 [.ShellClassInfo]
-IconResource=C:\Users\Jan\Home\PhD Thesis\Pyramid\icon.ico,0
+IconResource=C:\Users\Jan\Home\PhD Thesis\Pyramid\docs\icon.ico,0
 [ViewState]
 Mode=
 Vid=
diff --git a/docs/Pyramid Logo.png b/docs/Pyramid Logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..9d68d277a5b322c744a6fd941e1baf1d978759e4
GIT binary patch
literal 31216
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

literal 0
HcmV?d00001

diff --git a/docs/_static/sphinxdoc.css b/docs/_static/sphinxdoc.css
new file mode 100644
index 0000000..d208cf7
--- /dev/null
+++ b/docs/_static/sphinxdoc.css
@@ -0,0 +1,354 @@
+/*
+ * sphinxdoc.css_t
+ * ~~~~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- sphinxdoc theme.  Originally created by
+ * Armin Ronacher for Werkzeug.
+ *
+ * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+@import url("basic.css");
+
+/* -- page layout ----------------------------------------------------------- */
+
+body {
+    font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+                 'Verdana', sans-serif;
+    font-size: 14px;
+    letter-spacing: -0.01em;
+    line-height: 150%;
+    text-align: center;
+    background-color: #BFD1D4;
+    color: black;
+    padding: 0;
+    border: 1px solid #aaa;
+
+    margin: 0px 80px 0px 80px;
+    min-width: 740px;
+}
+
+div.document {
+    background-color: white;
+    text-align: left;
+    background-image: url(contents.png);
+    background-repeat: repeat-x;
+}
+
+div.bodywrapper {
+    margin: 0 240px 0 0;
+    border-right: 1px solid #ccc;
+}
+
+div.body {
+    margin: 0;
+    padding: 0.5em 20px 20px 20px;
+}
+
+div.related {
+    font-size: 1em;
+}
+
+div.related ul {
+    background-image: url(navigation.png);
+    height: 2em;
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+}
+
+div.related ul li {
+    margin: 0;
+    padding: 0;
+    height: 2em;
+    float: left;
+}
+
+div.related ul li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+div.related ul li a {
+    margin: 0;
+    padding: 0 5px 0 5px;
+    line-height: 1.75em;
+    color: #EE9816;
+}
+
+div.related ul li a:hover {
+    color: #3CA8E7;
+}
+
+div.sphinxsidebarwrapper {
+    padding: 0;
+}
+
+div.sphinxsidebar {
+    margin: 0;
+    padding: 0.5em 15px 15px 0;
+    width: 210px;
+    float: right;
+    font-size: 1em;
+    text-align: left;
+}
+
+div.sphinxsidebar h3, div.sphinxsidebar h4 {
+    margin: 1em 0 0.5em 0;
+    font-size: 1em;
+    padding: 0.1em 0 0.1em 0.5em;
+    color: white;
+    border: 1px solid #86989B;
+    background-color: #AFC1C4;
+}
+
+div.sphinxsidebar h3 a {
+    color: white;
+}
+
+div.sphinxsidebar ul {
+    padding-left: 1.5em;
+    margin-top: 7px;
+    padding: 0;
+    line-height: 130%;
+}
+
+div.sphinxsidebar ul ul {
+    margin-left: 20px;
+}
+
+div.footer {
+    background-color: #E3EFF1;
+    color: #86989B;
+    padding: 3px 8px 3px 0;
+    clear: both;
+    font-size: 0.8em;
+    text-align: right;
+}
+
+div.footer a {
+    color: #86989B;
+    text-decoration: underline;
+}
+
+/* -- body styles ----------------------------------------------------------- */
+
+p {    
+    margin: 0.8em 0 0.5em 0;
+}
+
+a {
+    color: #CA7900;
+    text-decoration: none;
+}
+
+a:hover {
+    color: #2491CF;
+}
+
+div.body a {
+    text-decoration: underline;
+}
+
+h1 {
+    margin: 0;
+    padding: 0.7em 0 0.3em 0;
+    font-size: 1.5em;
+    color: #11557C;
+	background-color: #ccd8ff;
+}
+
+h2 {
+    margin: 1.3em 0 0.2em 0;
+    font-size: 1.35em;
+    padding: 0;
+	background-color: #ccd8ff;
+}
+
+h3 {
+    margin: 1em 0 -0.3em 0;
+    font-size: 1.2em;
+	background-color: #ccd8ff;
+}
+
+h4 {
+	background-color: #ccd8ff
+}
+
+h5 {
+	background-color: #ccd8ff
+}
+
+div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a {
+    color: black!important;
+}
+
+h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
+    display: none;
+    margin: 0 0 0 0.3em;
+    padding: 0 0.2em 0 0.2em;
+    color: #aaa!important;
+}
+
+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor,
+h5:hover a.anchor, h6:hover a.anchor {
+    display: inline;
+}
+
+h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover,
+h5 a.anchor:hover, h6 a.anchor:hover {
+    color: #777;
+    background-color: #eee;
+}
+
+a.headerlink {
+    color: #c60f0f!important;
+    font-size: 1em;
+    margin-left: 6px;
+    padding: 0 4px 0 4px;
+    text-decoration: none!important;
+}
+
+a.headerlink:hover {
+    background-color: #ccc;
+    color: white!important;
+}
+
+cite, code, tt {
+    font-family: 'Consolas', 'Deja Vu Sans Mono',
+                 'Bitstream Vera Sans Mono', monospace;
+    font-size: 1.17em;
+    letter-spacing: 0.01em;
+}
+
+tt {
+    background-color: #f2f2f2;
+    border-bottom: 1px solid #ddd;
+    color: #333;
+}
+
+tt.descname, tt.descclassname, tt.xref {
+    border: 0;
+}
+
+hr {
+    border: 1px solid #abc;
+    margin: 2em;
+}
+
+a tt {
+    border: 0;
+    color: #CA7900;
+}
+
+a tt:hover {
+    color: #2491CF;
+}
+
+th {
+    background-color: #fff3cc;
+}
+
+pre {
+    font-family: 'Consolas', 'Deja Vu Sans Mono',
+                 'Bitstream Vera Sans Mono', monospace;
+    font-size: 0.95em;
+    letter-spacing: 0.015em;
+    line-height: 120%;
+    padding: 0.5em;
+    border: 1px solid #ccc;
+    background-color: #f8f8f8;
+}
+
+pre a {
+    color: inherit;
+    text-decoration: underline;
+}
+
+td.linenos pre {
+    padding: 0.5em 0;
+}
+
+div.quotebar {
+    background-color: #f8f8f8;
+    max-width: 250px;
+    float: right;
+    padding: 2px 7px;
+    border: 1px solid #ccc;
+}
+
+div.topic {
+    background-color: #f8f8f8;
+}
+
+table {
+    border-collapse: collapse;
+    margin: 0 -0.5em 0 -0.5em;
+}
+
+table td, table th {
+    padding: 0.2em 0.5em 0.2em 0.5em;
+}
+
+div.admonition, div.warning {
+    font-size: 0.9em;
+    margin: 1em 0 1em 0;
+    border: 1px solid #86989B;
+    background-color: #f7f7f7;
+    padding: 0;
+}
+
+div.admonition p, div.warning p {
+    margin: 0.5em 1em 0.5em 1em;
+    padding: 0;
+}
+
+div.admonition pre, div.warning pre {
+    margin: 0.4em 1em 0.4em 1em;
+}
+
+div.admonition p.admonition-title,
+div.warning p.admonition-title {
+    margin: 0;
+    padding: 0.1em 0 0.1em 0.5em;
+    color: white;
+    border-bottom: 1px solid #86989B;
+    font-weight: bold;
+    background-color: #AFC1C4;
+}
+
+div.warning {
+    border: 1px solid #940000;
+}
+
+div.warning p.admonition-title {
+    background-color: #CF0000;
+    border-bottom-color: #940000;
+}
+
+div.admonition ul, div.admonition ol,
+div.warning ul, div.warning ol {
+    margin: 0.1em 0.5em 0.5em 3em;
+    padding: 0;
+}
+
+div.versioninfo {
+    margin: 1em 0 0 0;
+    border: 1px solid #ccc;
+    background-color: #DDEAF0;
+    padding: 8px;
+    line-height: 1.3em;
+    font-size: 0.9em;
+}
+
+.viewcode-back {
+    font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva',
+                 'Verdana', sans-serif;
+}
+
+div.viewcode-block:target {
+    background-color: #f4debf;
+    border-top: 1px solid #ac9;
+    border-bottom: 1px solid #ac9;
+}
\ No newline at end of file
diff --git a/docs/conf.py b/docs/conf.py
index 259c097..cf56693 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -25,8 +25,10 @@ sys.path.insert(0, os.path.abspath('C:\Users\Jan\Home\PhD Thesis\Pyramid'))
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'rst2pdf.pdfbuilder',
-              'numpydoc']
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode', 'sphinx.ext.autosummary',
+			  'rst2pdf.pdfbuilder', 'numpydoc']
+
+numpydoc_show_class_members = False
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
@@ -92,7 +94,7 @@ pygments_style = 'sphinx'
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-html_theme = 'default'
+html_theme = 'sphinxdoc'
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
@@ -111,12 +113,12 @@ html_theme = 'default'
 
 # The name of an image file (relative to this directory) to place at the top
 # of the sidebar.
-#html_logo = None
+html_logo = 'Pyramid Logo.png'
 
 # The name of an image file (within the static path) to use as favicon of the
 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
 # pixels large.
-#html_favicon = None
+html_favicon = 'icon.ico'
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
diff --git a/icon.ico b/docs/icon.ico
similarity index 100%
rename from icon.ico
rename to docs/icon.ico
diff --git a/docs/pyramid.numcore.rst b/docs/pyramid.numcore.rst
index 9d3a9c3..4ad4c51 100644
--- a/docs/pyramid.numcore.rst
+++ b/docs/pyramid.numcore.rst
@@ -6,7 +6,6 @@ numcore Package
 
 .. automodule:: pyramid.numcore
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
diff --git a/docs/pyramid.rst b/docs/pyramid.rst
index 3491e66..8bd3b4c 100644
--- a/docs/pyramid.rst
+++ b/docs/pyramid.rst
@@ -6,25 +6,38 @@ pyramid Package
 
 .. automodule:: pyramid.analytic
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
-:mod:`holoimage` Module
------------------------
+:mod:`costfunction` Module
+--------------------------
+
+.. automodule:: pyramid.costfunction
+    :members:
+    :show-inheritance:
+	:special-members:
+
+:mod:`datacollection` Module
+----------------------------
 
-.. automodule:: pyramid.holoimage
+.. automodule:: pyramid.datacollection
+    :members:
+    :show-inheritance:
+	:special-members:
+
+:mod:`forwardmodel` Module
+--------------------------
+
+.. automodule:: pyramid.forwardmodel
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
 :mod:`kernel` Module
------------------------
+--------------------
 
 .. automodule:: pyramid.kernel
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
@@ -33,7 +46,6 @@ pyramid Package
 
 .. automodule:: pyramid.magcreator
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
@@ -42,7 +54,14 @@ pyramid Package
 
 .. automodule:: pyramid.magdata
     :members:
-    :undoc-members:
+    :show-inheritance:
+	:special-members:
+
+:mod:`optimizer` Module
+-----------------------
+
+.. automodule:: pyramid.optimizer
+    :members:
     :show-inheritance:
 	:special-members:
 
@@ -51,7 +70,6 @@ pyramid Package
 
 .. automodule:: pyramid.phasemap
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
@@ -60,7 +78,6 @@ pyramid Package
 
 .. automodule:: pyramid.phasemapper
     :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
@@ -69,16 +86,6 @@ pyramid Package
 
 .. automodule:: pyramid.projector
     :members:
-    :undoc-members:
-    :show-inheritance:
-	:special-members:
-
-:mod:`reconstructor` Module
----------------------------
-
-.. automodule:: pyramid.reconstructor
-    :members:
-    :undoc-members:
     :show-inheritance:
 	:special-members:
 
diff --git a/logfile.log b/logfile.log
new file mode 100644
index 0000000..e69de29
diff --git a/pyramid/__init__.py b/pyramid/__init__.py
index 1097315..8d25565 100644
--- a/pyramid/__init__.py
+++ b/pyramid/__init__.py
@@ -6,9 +6,9 @@ Modules
 magcreator
     Create simple magnetic distributions.
 magdata
-    Class for the storage of magnetizatin data.
+    Class for the storage of magnetization data.
 projector
-    Create projections of a given magnetization distribution.
+    Class for projections of given magnetization distribution.
 kernel
     Class for the kernel matrix representing one magnetized pixel.
 phasemapper
@@ -17,8 +17,14 @@ phasemap
     Class for the storage of phase data.
 analytic
     Create phase maps for magnetic distributions with analytic solutions.
-holoimage
-    Create holographic contour maps from a given phase map.
+datacollection
+    Class for collecting pairs of phase maps and corresponding projectors.
+forwardmodel
+    Class which represents a phase mapping strategy.
+costfunction
+    Class for the evaluation of the cost of a function.
+optimizer
+    Provides strategies for optimizing first guess magnetic distributions.
 reconstructor
     Reconstruct magnetic distributions from given phasemaps.
 
@@ -33,10 +39,8 @@ numcore
 import logging, logging.config
 import os
 
-LOGGING_CONF = os.path.join(os.path.dirname(__file__), 'logging.ini')
 
-logging.config.fileConfig(LOGGING_CONF)
+LOGGING_CONF = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'logging.ini')
 
 
-log = logging.getLogger(__name__)
-log.info('imported package, log:'+log.name)
\ No newline at end of file
+logging.config.fileConfig(LOGGING_CONF)
diff --git a/pyramid/analytic.py b/pyramid/analytic.py
index 5445990..bf2ffcc 100644
--- a/pyramid/analytic.py
+++ b/pyramid/analytic.py
@@ -11,6 +11,8 @@ calculated by the functions from the :mod:`~pyramid.phasemapper` module.
 import numpy as np
 from numpy import pi
 
+from pyramid.phasemap import PhaseMap
+
 
 PHI_0 = -2067.83  # magnetic flux in T*nm²
 
@@ -44,17 +46,17 @@ def phase_mag_slab(dim, a, phi, center, width, b_0=1):
     # Function for the phase:
     def phi_mag(x,  y):
         def F_0(x, y):
-            a = np.log(x**2 + y**2 + 1E-30)
-            b = np.arctan(x / (y+1E-30))
-            return x*a - 2*x + 2*y*b
+            A = np.log(x**2 + y**2 + 1E-30)
+            B = np.arctan(x / (y+1E-30))
+            return x*A - 2*x + 2*y*B
         return coeff * Lz * (- np.cos(phi) * (F_0(x-x0-Lx/2, y-y0-Ly/2)
-                                             - F_0(x-x0+Lx/2, y-y0-Ly/2)
-                                             - F_0(x-x0-Lx/2, y-y0+Ly/2)
-                                             + F_0(x-x0+Lx/2, y-y0+Ly/2))
+                                            - F_0(x-x0+Lx/2, y-y0-Ly/2)
+                                            - F_0(x-x0-Lx/2, y-y0+Ly/2)
+                                            + F_0(x-x0+Lx/2, y-y0+Ly/2))
                              + np.sin(phi) * (F_0(y-y0-Ly/2, x-x0-Lx/2)
-                                             - F_0(y-y0+Ly/2, x-x0-Lx/2)
-                                             - F_0(y-y0-Ly/2, x-x0+Lx/2)
-                                             + F_0(y-y0+Ly/2, x-x0+Lx/2)))
+                                            - F_0(y-y0+Ly/2, x-x0-Lx/2)
+                                            - F_0(y-y0-Ly/2, x-x0+Lx/2)
+                                            + F_0(y-y0+Ly/2, x-x0+Lx/2)))
     # Process input parameters:
     z_dim, y_dim, x_dim = dim
     y0 = a * (center[1] + 0.5)  # y0, x0 define the center of a pixel,
@@ -66,7 +68,7 @@ def phase_mag_slab(dim, a, phi, center, width, b_0=1):
     y = np.linspace(a/2, y_dim*a-a/2, num=y_dim)
     xx, yy = np.meshgrid(x, y)
     # Return phase:
-    return phi_mag(xx, yy)
+    return PhaseMap(a, phi_mag(xx, yy))
 
 
 def phase_mag_disc(dim, a, phi, center, radius, height, b_0=1):
@@ -115,7 +117,7 @@ def phase_mag_disc(dim, a, phi, center, radius, height, b_0=1):
     y = np.linspace(a/2, y_dim*a-a/2, num=y_dim)
     xx, yy = np.meshgrid(x, y)
     # Return phase:
-    return phi_mag(xx, yy)
+    return PhaseMap(a, phi_mag(xx, yy))
 
 
 def phase_mag_sphere(dim, a, phi, center, radius, b_0=1):
@@ -161,7 +163,7 @@ def phase_mag_sphere(dim, a, phi, center, radius, b_0=1):
     y = np.linspace(a / 2, y_dim * a - a / 2, num=y_dim)
     xx, yy = np.meshgrid(x, y)
     # Return phase:
-    return phi_mag(xx, yy)
+    return PhaseMap(a, phi_mag(xx, yy))
 
 
 def phase_mag_vortex(dim, a, center, radius, height, b_0=1):
@@ -206,4 +208,4 @@ def phase_mag_vortex(dim, a, center, radius, height, b_0=1):
     y = np.linspace(a/2, y_dim*a-a/2, num=y_dim)
     xx, yy = np.meshgrid(x, y)
     # Return phase:
-    return phi_mag(xx, yy)
+    return PhaseMap(a, phi_mag(xx, yy))
diff --git a/pyramid/costfunction.py b/pyramid/costfunction.py
index 3a5ac71..6201f91 100644
--- a/pyramid/costfunction.py
+++ b/pyramid/costfunction.py
@@ -14,12 +14,14 @@ class Costfunction:
     # TODO: Docstring!
     
     def __init__(self, y, F):
+        '''TEST DOCSTRING FOR INIT'''
         # TODO: Docstring!
         self.y = y  # TODO: get y from phasemaps!
         self.F = F  # Forward Model
         self.Se_inv = np.eye(len(y))
 
     def __call__(self, x):
+        '''TEST DOCSTRING FOR CALL'''
         # TODO: Docstring!
         y = self.y
         F = self.F
diff --git a/pyramid/datacollection.py b/pyramid/datacollection.py
index 43320b0..54d0371 100644
--- a/pyramid/datacollection.py
+++ b/pyramid/datacollection.py
@@ -1,7 +1,10 @@
 # -*- coding: utf-8 -*-
-"""Class for the collection of phase maps and additional data."""
+"""This module provides the :class:`~.DataCollection` class for the collection of phase maps
+and additional data like corresponding projectors."""
 
 
+import logging
+
 import numpy as np
 from numbers import Number
 
@@ -11,6 +14,29 @@ from pyramid.projector import Projector
 
 class DataCollection(object):
 
+    '''Class for collecting phase maps and corresponding projectors.
+
+    Represents a collection of (e.g. experimentally derived) phase maps, stored as
+    :class:´~.PhaseMap´ objects and corresponding projectors stored as :class:`~.Projector`
+    objects. At creation, the grid spacing `a` and the dimension `dim` of the projected grid.
+    Data can be added via the :func:`~.append` method, where a :class:`~.PhaseMap` and a
+    :class:`~.Projector` have to be given as tuple argument.
+
+    Attributes
+    ----------
+    a: float
+        The grid spacing in nm.
+    dim: tuple (N=2)
+        Dimensions of the projected grid.
+    phase_maps:
+        A list of all stored :class:`~.PhaseMap` objects.
+    projectors:
+        A list of all stored :class:`~.Projector` objects.
+    phase_vec: :class:`~numpy.ndarray` (N=1)
+        The concatenaded, vectorized phase of all ;class:`~.PhaseMap` objects.
+
+    '''
+
     @property
     def a(self):
         return self._a
@@ -32,7 +58,8 @@ class DataCollection(object):
         return [d[1] for d in self.data]
 
     def __init__(self, a, dim):
-        # TODO: Docstring!
+        self.log = logging.getLogger(__name__)
+        self.log.info('Creating '+str(self))
         assert isinstance(a, Number), 'Grid spacing has to be a number!'
         assert a >= 0, 'Grid spacing has to be a positive number!'
         self._a = a
@@ -41,8 +68,30 @@ class DataCollection(object):
         self.dim = dim
         self.data = []
 
+    def __repr__(self):
+        self.log.info('Calling __repr__')
+        return '%s(a=%r, dim=%r)' % (self.__class__, self.a, self.dim)
+
+    def __str__(self):
+        self.log.info('Calling __str__')
+        return 'DataCollection(a=%s, dim=%s, data_count=%s)' % \
+            (self.__class__, self.a, self.dim, len(self.phase_maps))
+
     def append(self, (phase_map, projector)):
-        # TODO: Docstring!
+        '''Appends a data pair of phase map and projection infos to the data collection.`
+
+        Parameters
+        ----------
+        (phase_map, projector): tuple (N=2)
+            tuple which contains a :class:`~.PhaseMap` object and a :class:`~.Projector` object,
+            which should be added to the data collection.
+
+        Returns
+        -------
+        None
+
+        '''
+        self.log.info('Calling append')
         assert isinstance(phase_map, PhaseMap) and isinstance(projector, Projector),  \
             'Argument has to be a tuple of a PhaseMap and a Projector object!'
         assert phase_map.dim == self.dim, 'Added phasemap must have the same dimension!'
diff --git a/pyramid/kernel.py b/pyramid/kernel.py
index 2f1a073..b8653e3 100644
--- a/pyramid/kernel.py
+++ b/pyramid/kernel.py
@@ -1,30 +1,35 @@
 # -*- coding: utf-8 -*-
-"""Class for the calculation and storage of kernel.
+"""This module provides the :class:`~.Kernel` class, representing the phase contribution of one
+single magnetized pixel."""
 
-This module provides the :class:`~.Kernel` class whose instances can be used to calculate and
-store the kernel matrix representing the phase of a single pixel for the convolution used in the
-phase calculation. The phasemap of a single pixel for two orthogonal directions (`u` and `v`) are
-stored seperately as 2-dimensional matrices. The Jacobi matrix of the phasemapping just depends
-on the kernel and can be calculated via the :func:`~.get_jacobi` function. Storing the Jacobi
-matrix uses much memory, thus it is also possible to directly get the multiplication of a given
-vector with the (transposed) Jacobi matrix without explicit calculation of the latter.
-It is possible to load data from and save them to NetCDF4 files. See :class:`~.Kernel` for further
-information.
-
-"""
 
+import logging
 
 import numpy as np
 
-import pyramid.numcore as nc
+import pyramid.numcore.kernel_core as core
 
 
 PHI_0 = -2067.83    # magnetic flux in T*nm²
 # TODO: sign?
 
 
-class Kernel:
+class Kernel(object):
+
     '''Class for calculating kernel matrices for the phase calculation.
+    
+    
+    
+    This module provides the :class:`~.Kernel` class whose instances can be used to calculate and
+    store the kernel matrix representing the phase of a single pixel for the convolution used in the
+    phase calculation. The phasemap of a single pixel for two orthogonal directions (`u` and `v`) are
+    stored seperately as 2-dimensional matrices. The Jacobi matrix of the phasemapping just depends
+    on the kernel and can be calculated via the :func:`~.get_jacobi` function. Storing the Jacobi
+    matrix uses much memory, thus it is also possible to directly get the multiplication of a given
+    vector with the (transposed) Jacobi matrix without explicit calculation of the latter.
+    It is possible to load data from and save them to NetCDF4 files. See :class:`~.Kernel` for further
+    information.
+    
 
     Represents the phase of a single magnetized pixel for two orthogonal directions (`u` and `v`),
     which can be accessed via the corresponding attributes. The default elementary geometry is
@@ -32,6 +37,18 @@ class Kernel:
     magnetized pixel. During the construction, a few attributes are calculated that are used in
     the convolution during phase calculation.
 
+
+    An instance `kernel` of the :class:`~.Kernel` class is callable via:
+    
+    .. :function:: kernel(vector)
+        
+        do stuff
+        
+        :param str sender: do other stuff
+        :return: nix
+
+    with `vector` being a :class:`~numpy.ndarray` (N=1).
+
     Attributes
     ----------
     dim : tuple (N=2)
@@ -56,7 +73,7 @@ class Kernel:
         and increasing to the next multiple of 2 (for faster FFT).
     slice_fft : tuple (N=2) of :class:`slice`
         A tuple of :class:`slice` objects to extract the original field of view from the increased
-        size (size_fft) of the grid for the FFT-convolution.
+        size (`size_fft`) of the grid for the FFT-convolution.
 
     '''# TODO: Can be used for several PhaseMappers via the fft arguments or via calling!
     
@@ -75,6 +92,8 @@ class Kernel:
             The elementary geometry of the single magnetized pixel.
 
         ''' # TODO: Docstring
+        self.log = logging.getLogger(__name__)
+        self.log.info('Calling __init__')
         # TODO: Check if b_0 has an influence or is forgotten
         # Function for the phase of an elementary geometry:
         def get_elementary_phase(geometry, n, m, a):
@@ -95,7 +114,7 @@ class Kernel:
         self.geometry = geometry
         self.b_0 = b_0
         # Calculate kernel (single pixel phase):
-        coeff = -a**2 / (2*PHI_0)
+        coeff = -a**2 * b_0 / (2*PHI_0)
         v_dim, u_dim = dim
         u = np.linspace(-(u_dim-1), u_dim-1, num=2*u_dim-1)
         v = np.linspace(-(v_dim-1), v_dim-1, num=2*v_dim-1)
@@ -108,22 +127,33 @@ class Kernel:
         self.slice_fft = (slice(dim[0]-1, 2*dim[0]-1), slice(dim[1]-1, 2*dim[1]-1))
         self.u_fft = np.fft.rfftn(self.u, self.dim_fft)
         self.v_fft = np.fft.rfftn(self.v, self.dim_fft)
+        self.log.info('Created '+str(self))
 
     def __call__(self, x):
+        '''Test'''
+        self.log.info('Calling __call__')
         if self.numcore:
             return self._multiply_jacobi_core(x)
         else:
             return self._multiply_jacobi(x)
         # TODO: Bei __init__ variable auf die entsprechende Funktion setzen.
 
+    def __repr__(self):
+        self.log.info('Calling __repr__')
+        return '%s(a=%r, dim=%r, b_0=%r, numcore=%r, geometry=%r)' % \
+            (self.__class__, self.a, self.dim, self.b_0, self.numcore, self.geometry)
 
-    def jac_dot(self, vector): 
+    def jac_dot(self, vector):
+        '''TEST'''# TODO: Docstring
+        self.log.info('Calling jac_dot')
         if self.numcore:
             return self._multiply_jacobi_core(vector)
         else:
             return self._multiply_jacobi(vector)
 
     def jac_T_dot(self, vector):
+        # TODO: Docstring
+        self.log.info('Calling jac_dot_T')
         return self._multiply_jacobi_T(vector)
 
     def _multiply_jacobi(self, vector):
@@ -141,7 +171,8 @@ class Kernel:
         result : :class:`~numpy.ndarray` (N=1)
             Product of the Jacobi matrix (which is not explicitely calculated) with the vector.
 
-        '''
+        '''# TODO: move!
+        self.log.info('Calling _multiply_jacobi')
         v_dim, u_dim = self.dim
         size = v_dim * u_dim
         assert len(vector) == 2*size, 'vector size not compatible!'
@@ -173,7 +204,8 @@ class Kernel:
             Product of the transposed Jacobi matrix (which is not explicitely calculated) with
             the vector.
 
-        '''
+        '''# TODO: move!
+        self.log.info('Calling _multiply_jacobi_T')
         v_dim, u_dim = self.dim
         size = v_dim * u_dim
         assert len(vector) == size, 'vector size not compatible!'
@@ -190,7 +222,7 @@ class Kernel:
         return result
 
     def _multiply_jacobi_core(self, vector):
-        # TODO: Docstring!
+        self.log.info('Calling _multiply_jacobi_core')
         result = np.zeros(np.prod(self.dim))
-        nc.multiply_jacobi_core(self.dim[0], self.dim[1], self.u, self.v, vector, result)
+        core.multiply_jacobi_core(self.dim[0], self.dim[1], self.u, self.v, vector, result)
         return result
diff --git a/pyramid/logging.ini b/pyramid/logging.ini
index 0803943..266c375 100644
--- a/pyramid/logging.ini
+++ b/pyramid/logging.ini
@@ -9,7 +9,7 @@ class=logging.Formatter
 
 [formatter_file]
 format=%(asctime)s: %(levelname)-8s @ <%(name)s>:    %(message)s
-datefmt=%Y-%m-%d H:%M:%S
+datefmt=%Y-%m-%d %H:%M:%S
 class=logging.Formatter
 
 [handlers]
@@ -25,7 +25,7 @@ args=tuple()
 class=logging.FileHandler
 level=INFO
 formatter=file
-args=('../output/logfile.log', 'w')
+args=('logfile.log', 'w')
 
 [loggers]
 keys=root
diff --git a/pyramid/magdata.py b/pyramid/magdata.py
index 30cc4ac..0dc7044 100644
--- a/pyramid/magdata.py
+++ b/pyramid/magdata.py
@@ -1,12 +1,13 @@
 # -*- coding: utf-8 -*-
-"""Class for the storage of magnetizatin data."""
+"""This module provides the :class:`~.MagData` class for storing of magnetization data."""
 
 
+import logging
 import numpy as np
+from scipy.ndimage.interpolation import zoom
 
 import matplotlib.pyplot as plt
 from matplotlib.ticker import MaxNLocator
-
 from mayavi import mlab
 
 from numbers import Number
@@ -20,30 +21,28 @@ class MagData(object):
 
     Represents 3-dimensional magnetic distributions with 3 components which are stored as a
     2-dimensional numpy array in `magnitude`, but which can also be accessed as a vector via
-    `mag_vec`. :class:`~.MagData` objects support arithmetic operators (``+``, ``-``, ``*``, ``/``)
-    and their augmented counterparts (``+=``, ``-=``, ``*=``, ``/=``), with numbers and other
-    :class:`~.MagData` objects, if their dimensions and grid spacings match. It is possible to load
-    data from NetCDF4 or LLG (.txt) files or to save the data in these formats. Plotting methods 
-    are also provided.
+    `mag_vec`. :class:`~.MagData` objects support negation, arithmetic operators 
+    (``+``, ``-``, ``*``) and their augmented counterparts (``+=``, ``-=``, ``*=``), with numbers
+    and other :class:`~.MagData` objects, if their dimensions and grid spacings match. It is
+    possible to load data from NetCDF4 or LLG (.txt) files or to save the data in these formats.
+    Plotting methods are also provided.
 
     Attributes
     ----------
-    a : float
+    a: float
         The grid spacing in nm.
-    dim : tuple (N=3)
+    dim: tuple (N=3)
         Dimensions (z, y, x) of the grid.
-    magnitude : :class:`~numpy.ndarray` (N=4)
+    magnitude: :class:`~numpy.ndarray` (N=4)
         The `x`-, `y`- and `z`-component of the magnetization vector for every 3D-gridpoint
         as a 4-dimensional numpy array (first dimension has to be 3, because of the 3 components).
     mag_vec: :class:`~numpy.ndarray` (N=1)
         Vector containing the magnetic distribution.
 
     '''
-
-    # TODO: Implement: __str__ or __repr__
-
-    # TODO: Implement: logging
-
+    
+    log = logging.getLogger()
+    
     @property
     def a(self):
         return self._a
@@ -81,57 +80,94 @@ class MagData(object):
         self.magnitude = mag_vec.reshape((3,)+self.dim)
 
     def __init__(self, a, magnitude):
+        self.log = logging.getLogger(__name__)
+        self.log.info('Calling __init__')
         self.a = a
-        self.magnitude = magnitude
+        self.magnitude = magnitude        
+        self.log.info('Created '+str(self))
+
+    def __getstate__(self):
+        d = dict(self.__dict__)
+        del d['log']
+        return d
+
+    def __setstate__(self, d):
+        self.__dict__.update(d)
+        self.log = logging.getLogger(__name__)
+
+    def __repr__(self):
+        self.log.info('Calling __repr__')
+        return '%s(a=%r, magnitude=%r)' % (self.__class__, self.a, self.magnitude)
+
+    def __str__(self):
+        self.log.info('Calling __str__')
+        return 'MagData(a=%s, dim=%s)' % (self.a, self.dim)
 
     def __neg__(self):  # -self
+        self.log.info('Calling __neg__')
         return MagData(self.a, -self.magnitude)
         
     def __add__(self, other):  # self + other
+        self.log.info('Calling __add__')
         assert isinstance(other, (MagData, Number)), \
             'Only MagData objects and scalar numbers (as offsets) can be added/subtracted!'
         if isinstance(other, MagData):
+            self.log.info('Adding two MagData objects')
             assert other.a == self.a, 'Added phase has to have the same grid spacing!'
             assert other.magnitude.shape == (3,)+self.dim, \
                 'Added magnitude has to have the same dimensions!'
             return MagData(self.a, self.magnitude+other.magnitude)
         else:  # other is a Number
+            self.log.info('Adding an offset')
             return MagData(self.a, self.magnitude+other)
 
     def __sub__(self, other):  # self - other
+        self.log.info('Calling __sub__')
         return self.__add__(-other)
 
     def __mul__(self, other):  # self * other
+        self.log.info('Calling __mul__')
         assert isinstance(other, Number), 'MagData objects can only be multiplied by numbers!'
         return MagData(self.a, other*self.magnitude)
 
-    def __div__(self, other):  # self / other 
-        assert other != 0, 'Division by zero!'
-        return self.__mul__(1./other)
-        # TODO: Does not work, but why?
-
     def __radd__(self, other):  # other + self
+        self.log.info('Calling __radd__')
         return self.__add__(other)
 
     def __rsub__(self, other):  # other - self
+        self.log.info('Calling __rsub__')
         return -self.__sub__(other)
 
     def __rmul__(self, other):  # other * self
+        self.log.info('Calling __rmul__')
         return self.__mul__(other)
     
     def __iadd__(self, other):  # self += other
+        self.log.info('Calling __iadd__')
         return self.__add__(other)
 
     def __isub__(self, other):  # self -= other
+        self.log.info('Calling __isub__')
         return self.__sub__(other)
 
     def __imul__(self, other):  # self *= other
+        self.log.info('Calling __imul__')
         return self.__mul__(other)
-
-    def __idiv__(self, other):  # self /= other
-        return self.__div__(other)
     
     def copy(self):
+        '''Returns a copy of the :class:`~.MagData` object
+
+        Parameters
+        ----------
+        None
+
+        Returns
+        -------
+        mag_data: :class:`~.MagData`
+            A copy of the :class:`~.MagData`.
+
+        '''
+        self.log.info('Calling copy7')
         return MagData(self.a, self.magnitude.copy())
 
     def scale_down(self, n=1):
@@ -152,12 +188,32 @@ class MagData(object):
         Only possible, if each axis length is a power of 2!
 
         '''
+        self.log.info('Calling scale_down')
         assert n > 0 and isinstance(n, (int, long)), 'n must be a positive integer!'
         assert np.all([d % 2**n == 0 for d in self.dim]), 'Dimensions must a multiples of 2!'
+        self.a = self.a * 2**n
         for t in range(n):
             # Create coarser grid for the magnetization:
             self.magnitude = self.magnitude.reshape(
                 3, self.dim[0]/2, 2, self.dim[1]/2, 2, self.dim[2]/2, 2).mean(axis=(6, 4, 2))
+            
+
+    def scale_up(self, n=1, order=0):
+        # TODO: Docstring!
+        self.log.info('Calling scale_up')
+        assert n > 0 and isinstance(n, (int, long)), 'n must be a positive integer!'
+        assert 5 > order >= 0 and isinstance(order, (int, long)), \
+            'order must be a positive integer between 0 and 5!'
+        self.a = self.a / 2**n
+        self.magnitude = np.array((zoom(self.magnitude[0], zoom=2**n, order=order),
+                                   zoom(self.magnitude[1], zoom=2**n, order=order),
+                                   zoom(self.magnitude[2], zoom=2**n, order=order)))
+
+    def pad(self, x_pad, y_pad, z_pad):
+        # TODO: Docstring!
+        self.magnitude = np.pad(self.magnitude,
+                                ((0, 0), (z_pad, z_pad), (y_pad, y_pad), (x_pad, x_pad)),
+                                mode='constant', constant_values=0)
 
     def save_to_llg(self, filename='..\output\magdata_output.txt'):
         '''Save magnetization data in a file with LLG-format.
@@ -173,6 +229,7 @@ class MagData(object):
         None
 
         '''
+        self.log.info('Calling save_to_llg')
         a = self.a * 1.0E-9 / 1.0E-2  # from nm to cm
         # Create 3D meshgrid and reshape it and the magnetization into a list where x varies first:
         zz, yy, xx = np.mgrid[a/2:(self.dim[0]*a-a/2):self.dim[0]*1j,
@@ -202,6 +259,7 @@ class MagData(object):
             A :class:`~.MagData` object containing the loaded data.
 
         '''
+        cls.log.info('Calling load_from_llg')
         SCALE = 1.0E-9 / 1.0E-2  # From cm to nm
         data = np.genfromtxt(filename, skip_header=2)
         dim = tuple(np.genfromtxt(filename, dtype=int, skip_header=1, skip_footer=len(data[:, 0])))
@@ -223,6 +281,7 @@ class MagData(object):
         None
 
         '''
+        self.log.info('Calling save_to_netcdf4')
         mag_file = netCDF4.Dataset(filename, 'w', format='NETCDF4')
         mag_file.a = self.a
         mag_file.createDimension('comp', 3)  # Number of components
@@ -248,6 +307,7 @@ class MagData(object):
             A :class:`~.MagData` object containing the loaded data.
 
         '''
+        cls.log.info('Calling copy')
         mag_file = netCDF4.Dataset(filename, 'r', format='NETCDF4')
         a = mag_file.a
         magnitude =  mag_file.variables['magnitude'][...]
@@ -279,24 +339,31 @@ class MagData(object):
             The axis on which the graph is plotted.
 
         '''
+        self.log.info('Calling quiver_plot')
         assert proj_axis == 'z' or proj_axis == 'y' or proj_axis == 'x', \
             'Axis has to be x, y or z (as string).'
         if proj_axis == 'z':  # Slice of the xy-plane with z = ax_slice
+            self.log.info('proj_axis == z')
             if ax_slice is None:
+                self.log.info('ax_slice is None')
                 ax_slice = int(self.dim[0]/2)
             mag_slice_u = self.magnitude[0][ax_slice, ...]  # x-component
             mag_slice_v = self.magnitude[1][ax_slice, ...]  # y-component
             u_label = 'x [px]'
             v_label = 'y [px]'
         elif proj_axis == 'y':  # Slice of the xz-plane with y = ax_slice
+            self.log.info('proj_axis == y')
             if ax_slice is None:
+                self.log.info('ax_slice is None')
                 ax_slice = int(self.dim[1]/2)
             mag_slice_u = self.magnitude[0][:, ax_slice, :]  # x-component
             mag_slice_v = self.magnitude[2][:, ax_slice, :]  # z-component
             u_label = 'x [px]'
             v_label = 'z [px]'
         elif proj_axis == 'x':  # Slice of the yz-plane with x = ax_slice
+            self.log.info('proj_axis == x')
             if ax_slice is None:
+                self.log.info('ax_slice is None')
                 ax_slice = int(self.dim[2]/2)
             mag_slice_u = self.magnitude[1][..., ax_slice]  # y-component
             mag_slice_v = self.magnitude[2][..., ax_slice]  # z-component
@@ -304,6 +371,7 @@ class MagData(object):
             v_label = 'z [px]'
         # If no axis is specified, a new figure is created:
         if axis is None:
+            self.log.info('axis is None')
             fig = plt.figure(figsize=(8.5, 7))
             axis = fig.add_subplot(1, 1, 1, aspect='equal')
         axis.quiver(mag_slice_u, mag_slice_v, pivot='middle', angles='xy', scale_units='xy',
@@ -331,6 +399,7 @@ class MagData(object):
         None
 
         '''
+        self.log.info('Calling quiver_plot3D')
         a = self.a
         dim = self.dim
         # Create points and vector components as lists:
@@ -345,7 +414,7 @@ class MagData(object):
         z_mag = np.reshape(self.magnitude[2], (-1))
         # Plot them as vectors:
         mlab.figure()
-        plot = mlab.quiver3d(xx, yy, zz, x_mag, y_mag, z_mag, mode='arrow')#, scale_factor=5.0)
+        plot = mlab.quiver3d(xx, yy, zz, x_mag, y_mag, z_mag, mode='arrow')
         mlab.outline(plot)
         mlab.axes(plot)
         mlab.colorbar()
diff --git a/pyramid/numcore/__init__.py b/pyramid/numcore/__init__.py
index df89b8e..fd8ed34 100644
--- a/pyramid/numcore/__init__.py
+++ b/pyramid/numcore/__init__.py
@@ -11,5 +11,3 @@ Notes
 Packages are written in `pyx`-format for the use with :mod:`~cython`.
 
 """
-
-from phase_mag_real import *
diff --git a/pyramid/optimizer.py b/pyramid/optimizer.py
index b2d0aff..ca22601 100644
--- a/pyramid/optimizer.py
+++ b/pyramid/optimizer.py
@@ -56,85 +56,85 @@ def optimize_cg(self, data_collection, first_guess):
 
 # TODO: Implement the following:
 
-# -*- coding: utf-8 -*-
-"""Reconstruct magnetic distributions from given phasemaps.
-
-This module reconstructs 3-dimensional magnetic distributions (as :class:`~pyramid.magdata.MagData`
-objects) from a given set of phase maps (represented by :class:`~pyramid.phasemap.PhaseMap`
-objects) by using several model based reconstruction algorithms which use the forward model
-provided by :mod:`~pyramid.projector` and :mod:`~pyramid.phasemapper` and a priori knowledge of
-the distribution.
-So far, only a simple least square algorithm for known pixel locations for 2-dimensional problems
-is implemented (:func:`~.reconstruct_simple_leastsq`), but more complex solutions are planned.
-
-"""
-
-
-
-import numpy as np
-
-from scipy.optimize import leastsq
-
-import pyramid.projector as pj
-import pyramid.phasemapper as pm
-from pyramid.magdata import MagData
-from pyramid.projector import Projection
-from pyramid.kernel import Kernel
-
-
-def reconstruct_simple_leastsq(phase_map, mask, b_0=1):
-    '''Reconstruct a magnetic distribution for a 2-D problem with known pixel locations.
-
-    Parameters
-    ----------
-        phase_map : :class:`~pyramid.phasemap.PhaseMap`
-            A :class:`~pyramid.phasemap.PhaseMap` object, representing the phase from which to
-            reconstruct the magnetic distribution.
-        mask : :class:`~numpy.ndarray` (N=3)
-            A boolean matrix (or a matrix consisting of ones and zeros), representing the
-            positions of the magnetized voxels in 3 dimensions.
-        b_0 : float, optional
-            The magnetic induction corresponding to a magnetization `M`\ :sub:`0` in T.
-            The default is 1.
-    Returns
-    -------
-        mag_data : :class:`~pyramid.magdata.MagData`
-            The reconstructed magnetic distribution as a
-            :class:`~pyramid.magdata.MagData` object.
-
-    Notes
-    -----
-    Only works for a single phase_map, if the positions of the magnetized voxels are known and
-    for slice thickness of 1 (constraint for the `z`-dimension).
-
-    '''
-    # Read in parameters:
-    y_m = phase_map.phase.reshape(-1)  # Measured phase map as a vector
-    a = phase_map.a  # Grid spacing
-    dim = mask.shape  # Dimensions of the mag. distr.
-    count = mask.sum()  # Number of pixels with magnetization
-    lam = 1e-6  # Regularisation parameter
-    # Create empty MagData object for the reconstruction:
-    mag_data_rec = MagData(a, (np.zeros(dim), np.zeros(dim), np.zeros(dim)))
-
-    # Function that returns the phase map for a magnetic configuration x:
-    def F(x):
-        mag_data_rec.set_vector(mask, x)
-        phase = pm.phase_mag_real(a, pj.simple_axis_projection(mag_data_rec), b_0)
-        return phase.reshape(-1)
-
-    # Cost function which should be minimized:
-    def J(x_i):
-        y_i = F(x_i)
-        term1 = (y_i - y_m)
-        term2 = lam * x_i
-        return np.concatenate([term1, term2])
-
-    # Reconstruct the magnetization components:
-    x_rec, _ = leastsq(J, np.zeros(3*count))
-    mag_data_rec.set_vector(mask, x_rec)
-    return mag_data_rec
-
-def reconstruct_test():
-    product = (kernel.multiply_jacobi_T(projection.multiply_jacobi_T(x))
-             * kernel.multiply_jacobi(projection.multiply_jacobi(x)))
\ No newline at end of file
+## -*- coding: utf-8 -*-
+#"""Reconstruct magnetic distributions from given phasemaps.
+#
+#This module reconstructs 3-dimensional magnetic distributions (as :class:`~pyramid.magdata.MagData`
+#objects) from a given set of phase maps (represented by :class:`~pyramid.phasemap.PhaseMap`
+#objects) by using several model based reconstruction algorithms which use the forward model
+#provided by :mod:`~pyramid.projector` and :mod:`~pyramid.phasemapper` and a priori knowledge of
+#the distribution.
+#So far, only a simple least square algorithm for known pixel locations for 2-dimensional problems
+#is implemented (:func:`~.reconstruct_simple_leastsq`), but more complex solutions are planned.
+#
+#"""
+#
+#
+#
+#import numpy as np
+#
+#from scipy.optimize import leastsq
+#
+#import pyramid.projector as pj
+#import pyramid.phasemapper as pm
+#from pyramid.magdata import MagData
+#from pyramid.projector import Projection
+#from pyramid.kernel import Kernel
+#
+#
+#def reconstruct_simple_leastsq(phase_map, mask, b_0=1):
+#    '''Reconstruct a magnetic distribution for a 2-D problem with known pixel locations.
+#
+#    Parameters
+#    ----------
+#        phase_map : :class:`~pyramid.phasemap.PhaseMap`
+#            A :class:`~pyramid.phasemap.PhaseMap` object, representing the phase from which to
+#            reconstruct the magnetic distribution.
+#        mask : :class:`~numpy.ndarray` (N=3)
+#            A boolean matrix (or a matrix consisting of ones and zeros), representing the
+#            positions of the magnetized voxels in 3 dimensions.
+#        b_0 : float, optional
+#            The magnetic induction corresponding to a magnetization `M`\ :sub:`0` in T.
+#            The default is 1.
+#    Returns
+#    -------
+#        mag_data : :class:`~pyramid.magdata.MagData`
+#            The reconstructed magnetic distribution as a
+#            :class:`~pyramid.magdata.MagData` object.
+#
+#    Notes
+#    -----
+#    Only works for a single phase_map, if the positions of the magnetized voxels are known and
+#    for slice thickness of 1 (constraint for the `z`-dimension).
+#
+#    '''
+#    # Read in parameters:
+#    y_m = phase_map.phase.reshape(-1)  # Measured phase map as a vector
+#    a = phase_map.a  # Grid spacing
+#    dim = mask.shape  # Dimensions of the mag. distr.
+#    count = mask.sum()  # Number of pixels with magnetization
+#    lam = 1e-6  # Regularisation parameter
+#    # Create empty MagData object for the reconstruction:
+#    mag_data_rec = MagData(a, (np.zeros(dim), np.zeros(dim), np.zeros(dim)))
+#
+#    # Function that returns the phase map for a magnetic configuration x:
+#    def F(x):
+#        mag_data_rec.set_vector(mask, x)
+#        phase = pm.phase_mag_real(a, pj.simple_axis_projection(mag_data_rec), b_0)
+#        return phase.reshape(-1)
+#
+#    # Cost function which should be minimized:
+#    def J(x_i):
+#        y_i = F(x_i)
+#        term1 = (y_i - y_m)
+#        term2 = lam * x_i
+#        return np.concatenate([term1, term2])
+#
+#    # Reconstruct the magnetization components:
+#    x_rec, _ = leastsq(J, np.zeros(3*count))
+#    mag_data_rec.set_vector(mask, x_rec)
+#    return mag_data_rec
+#
+#def reconstruct_test():
+#    product = (kernel.multiply_jacobi_T(projection.multiply_jacobi_T(x))
+#             * kernel.multiply_jacobi(projection.multiply_jacobi(x)))
\ No newline at end of file
diff --git a/pyramid/phasemap.py b/pyramid/phasemap.py
index 6964ded..293dd63 100644
--- a/pyramid/phasemap.py
+++ b/pyramid/phasemap.py
@@ -1,7 +1,9 @@
 # -*- coding: utf-8 -*-
-"""Class for the storage of phase data."""
+"""This module provides the :class:`~.PhaseMap` class for storing phase map data."""
 
 
+import logging
+
 import numpy as np
 from numpy import pi
 
@@ -22,8 +24,8 @@ class PhaseMap(object):
 
     Represents 2-dimensional phase maps. The phase information itself is stored as a 2-dimensional
     matrix in `phase`, but can also be accessed as a vector via `phase_vec`. :class:`~.PhaseMap`
-    objects support arithmetic operators (``+``, ``-``, ``*``, ``/``) and their augmented 
-    counterparts (``+=``, ``-=``, ``*=``, ``/=``), with numbers and other :class:`~.PhaseMap`
+    objects support negation, arithmetic operators (``+``, ``-``, ``*``) and their augmented 
+    counterparts (``+=``, ``-=``, ``*=``), with numbers and other :class:`~.PhaseMap`
     objects, if their dimensions and grid spacings match. It is possible to load data from NetCDF4
     or textfiles or to save the data in these formats. Methods for plotting the phase or a
     corresponding holographic contour map are provided. Holographic contour maps are created by
@@ -34,44 +36,65 @@ class PhaseMap(object):
 
     Attributes
     ----------
-    a : float
+    a: float
         The grid spacing in nm.
-    dim : tuple (N=2)
+    dim: tuple (N=2)
         Dimensions of the grid.
-    phase : :class:`~numpy.ndarray` (N=2)
+    phase: :class:`~numpy.ndarray` (N=2)
         Matrix containing the phase shift.
     phase_vec: :class:`~numpy.ndarray` (N=2)
         Vector containing the phase shift.
-    unit : {'rad', 'mrad', 'µrad'}, optional
-        Set the unit of the phase map. This is important for the :func:`~.display` function,
+    unit: {'rad', 'mrad'}, optional
+        Set the unit of the phase map. This is important for the :func:`display` function,
         because the phase is scaled accordingly. Does not change the phase itself, which is
         always in `rad`.
 
     '''
 
-    UNITDICT = {'rad': 1E0,
-                'mrad': 1E3,
-                'µrad': 1E6}
-
-    CDICT = {'red':   [(0.00, 1.0, 0.0),
-                       (0.25, 1.0, 1.0),
-                       (0.50, 1.0, 1.0),
-                       (0.75, 0.0, 0.0),
-                       (1.00, 0.0, 1.0)],
-
-             'green': [(0.00, 0.0, 0.0),
-                       (0.25, 0.0, 0.0),
-                       (0.50, 1.0, 1.0),
-                       (0.75, 1.0, 1.0),
-                       (1.00, 0.0, 1.0)],
-
-             'blue':  [(0.00, 1.0, 1.0),
-                       (0.25, 0.0, 0.0),
-                       (0.50, 0.0, 0.0),
-                       (0.75, 0.0, 0.0),
-                       (1.00, 1.0, 1.0)]}
+    log = logging.getLogger(__name__)
+
+    UNITDICT = {u'rad': 1E0,
+                u'mrad': 1E3,
+                u'µrad': 1E6}
+
+    CDICT =     {'red':   [(0.00, 1.0, 0.0),
+                           (0.25, 1.0, 1.0),
+                           (0.50, 1.0, 1.0),
+                           (0.75, 0.0, 0.0),
+                           (1.00, 0.0, 1.0)],
+
+                 'green': [(0.00, 0.0, 0.0),
+                           (0.25, 0.0, 0.0),
+                           (0.50, 1.0, 1.0),
+                           (0.75, 1.0, 1.0),
+                           (1.00, 0.0, 1.0)],
+
+                 'blue':  [(0.00, 1.0, 1.0),
+                           (0.25, 0.0, 0.0),
+                           (0.50, 0.0, 0.0),
+                           (0.75, 0.0, 0.0),
+                           (1.00, 1.0, 1.0)]}
+
+    CDICT_INV = {'red':   [(0.00, 0.0, 1.0),
+                           (0.25, 0.0, 0.0),
+                           (0.50, 0.0, 0.0),
+                           (0.75, 1.0, 1.0),
+                           (1.00, 1.0, 0.0)],
+
+                 'green': [(0.00, 1.0, 1.0),
+                           (0.25, 1.0, 1.0),
+                           (0.50, 0.0, 0.0),
+                           (0.75, 0.0, 0.0),
+                           (1.00, 1.0, 0.0)],
+
+                 'blue':  [(0.00, 0.0, 0.0),
+                           (0.25, 1.0, 1.0),
+                           (0.50, 1.0, 1.0),
+                           (0.75, 1.0, 1.0),
+                           (1.00, 0.0, 0.0)]}
     
     HOLO_CMAP = mpl.colors.LinearSegmentedColormap('my_colormap', CDICT, 256)
+    HOLO_CMAP_INV = mpl.colors.LinearSegmentedColormap('my_colormap', CDICT_INV, 256)
     
     @property
     def a(self):
@@ -121,52 +144,69 @@ class PhaseMap(object):
         self.a = a
         self.phase = phase
         self.unit = unit
+        self.log = logging.getLogger(__name__)
+        self.log.info('Created '+str(self))
+
+    def __repr__(self):
+        self.log.info('Calling __repr__')
+        return '%s(a=%r, phase=%r, unit=&r)' % \
+            (self.__class__, self.a, self.phase, self.unit)
+
+    def __str__(self):
+        self.log.info('Calling __str__')
+        return 'PhaseMap(a=%s, dim=%s)' % (self.a, self.dim)
 
     def __neg__(self):  # -self
+        self.log.info('Calling __neg__')
         return PhaseMap(self.a, -self.phase, self.unit)
         
     def __add__(self, other):  # self + other
+        self.log.info('Calling __add__')
         assert isinstance(other, (PhaseMap, Number)), \
             'Only PhaseMap objects and scalar numbers (as offsets) can be added/subtracted!'
         if isinstance(other, PhaseMap):
+            self.log.info('Adding two PhaseMap objects')
             assert other.a == self.a, 'Added phase has to have the same grid spacing!'
             assert other.phase.shape == self.dim, \
                 'Added magnitude has to have the same dimensions!'
             return PhaseMap(self.a, self.phase+other.phase, self.unit)
         else:  # other is a Number
+            self.log.info('Adding an offset')
             return PhaseMap(self.a, self.phase+other, self.unit)
 
     def __sub__(self, other):  # self - other
+        self.log.info('Calling __sub__')
         return self.__add__(-other)
 
     def __mul__(self, other):  # self * other
+        self.log.info('Calling __mul__')
         assert isinstance(other, Number), 'PhaseMap objects can only be multiplied by numbers!'
         return PhaseMap(self.a, other*self.phase, self.unit)
 
-    def __div__(self, other):  # self / other
-        return self.__mul__(1.0/other)
-
     def __radd__(self, other):  # other + self
+        self.log.info('Calling __radd__')
         return self.__add__(other)
 
     def __rsub__(self, other):  # other - self
+        self.log.info('Calling __rsub__')
         return -self.__sub__(other)
 
     def __rmul__(self, other):  # other * self
+        self.log.info('Calling __rmul__')
         return self.__mul__(other)
     
     def __iadd__(self, other):  # self += other
+        self.log.info('Calling __iadd__')
         return self.__add__(other)
 
     def __isub__(self, other):  # self -= other
+        self.log.info('Calling __isub__')
         return self.__sub__(other)
 
     def __imul__(self, other):  # self *= other
+        self.log.info('Calling __imul__')
         return self.__mul__(other)
 
-    def __idiv__(self, other):  # self /= other
-        return self.__div__(other)
-
     def save_to_txt(self, filename='..\output\phasemap_output.txt'):
         '''Save :class:`~.PhaseMap` data in a file with txt-format.
 
@@ -181,6 +221,7 @@ class PhaseMap(object):
         None
 
         '''
+        self.log.info('Calling save_to_txt')
         with open(filename, 'w') as phase_file:
             phase_file.write('{}\n'.format(filename.replace('.txt', '')))
             phase_file.write('grid spacing = {} nm\n'.format(self.a))
@@ -201,6 +242,7 @@ class PhaseMap(object):
             A :class:`~.PhaseMap` object containing the loaded data.
 
         '''
+        cls.log.info('Calling load_from_txt')
         with open(filename, 'r') as phase_file:
             phase_file.readline()  # Headerline is not used
             a = float(phase_file.readline()[15:-4])
@@ -221,6 +263,7 @@ class PhaseMap(object):
         None
 
         '''
+        self.log.info('Calling save_to_netcdf4')
         phase_file = netCDF4.Dataset(filename, 'w', format='NETCDF4')
         phase_file.a = self.a
         phase_file.createDimension('v_dim', self.dim[0])
@@ -244,13 +287,15 @@ class PhaseMap(object):
             A :class:`~.PhaseMap` object containing the loaded data.
 
         '''
+        cls.log.info('Calling load_from_netcdf4')
         phase_file = netCDF4.Dataset(filename, 'r', format='NETCDF4')
         a = phase_file.a
         phase = phase_file.variables['phase'][:]
         phase_file.close()
         return PhaseMap(a, phase)
 
-    def display_phase(self, title='Phase Map', cmap='RdBu', limit=None, norm=None, axis=None):
+    def display_phase(self, title='Phase Map', cmap='RdBu',
+                      limit=None, norm=None, axis=None, show=True):
         '''Display the phasemap as a colormesh.
 
         Parameters
@@ -268,6 +313,8 @@ class PhaseMap(object):
             If not specified, :class:`~matplotlib.colors.Normalize` is automatically used.
         axis : :class:`~matplotlib.axes.AxesSubplot`, optional
             Axis on which the graph is plotted. Creates a new figure if none is specified.
+        show : bool, optional
+            A switch which determines if the plot is shown at the end of plotting.
 
         Returns
         -------
@@ -275,6 +322,7 @@ class PhaseMap(object):
             The axis on which the graph is plotted.
 
         '''
+        self.log.info('Calling display_phase')
         # Take units into consideration:
         phase = self.phase * self.UNITDICT[self.unit]
         if limit is None:
@@ -302,9 +350,10 @@ class PhaseMap(object):
         cbar_ax = fig.add_axes([0.82, 0.15, 0.02, 0.7])
         cbar = fig.colorbar(im, cax=cbar_ax)
         cbar.ax.tick_params(labelsize=14)
-        cbar.set_label('phase shift [{}]'.format(self.unit), fontsize=15)
+        cbar.set_label(u'phase shift [{}]'.format(self.unit), fontsize=15)
         # Show plot:
-        plt.show()
+        if show:
+            plt.show()
         # Return plotting axis:
         return axis
 
@@ -325,6 +374,7 @@ class PhaseMap(object):
             The axis on which the graph is plotted.
 
         '''
+        self.log.info('Calling display_phase3d')
         # Take units into consideration:
         phase = self.phase * self.UNITDICT[self.unit]
         # Create figure and axis:
@@ -347,7 +397,7 @@ class PhaseMap(object):
         return axis
     
     def display_holo(self, density=1, title='Holographic Contour Map',
-                     axis=None, interpolation='none'):
+                     axis=None, grad_encode='dark', interpolation='none', show=True):
         '''Display the color coded holography image.
     
         Parameters
@@ -360,13 +410,16 @@ class PhaseMap(object):
             Axis on which the graph is plotted. Creates a new figure if none is specified.
         interpolation : {'none, 'bilinear', 'cubic', 'nearest'}, optional
             Defines the interpolation method. No interpolation is used in the default case.
+        show: bool, optional
+            A switch which determines if the plot is shown at the end of plotting.
     
         Returns
         -------
         axis: :class:`~matplotlib.axes.AxesSubplot`
             The axis on which the graph is plotted.
     
-        '''
+        '''# TODO: Docstring saturation!
+        self.log.info('Calling display_holo')
         # Calculate the holography image intensity:
         img_holo = (1 + np.cos(density * self.phase)) / 2
         # Calculate the phase gradients, expressed by magnitude and angle:
@@ -374,11 +427,24 @@ class PhaseMap(object):
         phase_angle = (1 - np.arctan2(phase_grad_y, phase_grad_x)/pi) / 2
         phase_magnitude = np.hypot(phase_grad_x, phase_grad_y)
         if phase_magnitude.max() != 0:
-            phase_magnitude = np.sin(phase_magnitude/phase_magnitude.max() * pi / 2)
+            saturation = np.sin(phase_magnitude/phase_magnitude.max() * pi / 2)
+            phase_saturation = np.dstack((saturation,)*4)
         # Color code the angle and create the holography image:
-        rgba = self.HOLO_CMAP(phase_angle)
-        rgb = (255.999 * img_holo.T * phase_magnitude.T * rgba[:, :, :3].T).T.astype(np.uint8)
-        holo_image = Image.fromarray(rgb) 
+        if grad_encode == 'dark':
+            rgba = self.HOLO_CMAP(phase_angle)
+            rgb = (255.999 * img_holo.T * saturation.T * rgba[:, :, :3].T).T.astype(np.uint8)
+        elif grad_encode == 'bright':
+            rgba = self.HOLO_CMAP(phase_angle)+(1-phase_saturation)*self.HOLO_CMAP_INV(phase_angle)
+            rgb = (255.999 * img_holo.T * rgba[:, :, :3].T).T.astype(np.uint8)
+        elif grad_encode == 'color':
+            rgba = self.HOLO_CMAP(phase_angle)
+            rgb = (255.999 * img_holo.T * rgba[:, :, :3].T).T.astype(np.uint8)
+        elif grad_encode == 'none':
+            rgba = self.HOLO_CMAP(phase_angle)+self.HOLO_CMAP_INV(phase_angle)
+            rgb = (255.999 * img_holo.T * rgba[:, :, :3].T).T.astype(np.uint8)
+        else:
+            raise AssertionError('Gradient encoding not recognized!') 
+        holo_image = Image.fromarray(rgb)
         # If no axis is specified, a new figure is created:
         if axis is None:
             fig = plt.figure()
@@ -397,11 +463,13 @@ class PhaseMap(object):
         axis.xaxis.set_major_locator(MaxNLocator(nbins=9, integer=True))
         axis.yaxis.set_major_locator(MaxNLocator(nbins=9, integer=True))
         # Show Plot:
-        plt.show()
+        if show:
+            plt.show()
         # Return plotting axis:
         return axis
     
-    def display_combined(self, density=1, title='Combined Plot', interpolation='none'):
+    def display_combined(self, density=1, title='Combined Plot', interpolation='none',
+                         grad_encode='dark'):
         '''Display the phase map and the resulting color coded holography image in one plot.
     
         Parameters
@@ -419,21 +487,25 @@ class PhaseMap(object):
         phase_axis, holo_axis: :class:`~matplotlib.axes.AxesSubplot`
             The axes on which the graphs are plotted.
     
-        '''
+        '''# TODO: Docstring grad_encode!
+        self.log.info('Calling display_combined')
         # Create combined plot and set title:
         fig = plt.figure(figsize=(16, 7))
         fig.suptitle(title, fontsize=20)
         # Plot holography image:
         holo_axis = fig.add_subplot(1, 2, 1, aspect='equal')
-        self.display_holo(density=density, axis=holo_axis, interpolation=interpolation)
+        self.display_holo(density=density, axis=holo_axis, interpolation=interpolation,
+                          show=False, grad_encode=grad_encode)
         # Plot phase map:
         phase_axis = fig.add_subplot(1, 2, 2, aspect='equal')
         fig.subplots_adjust(right=0.85)
-        self.display_phase(axis=phase_axis)
+        self.display_phase(axis=phase_axis, show=False)
+        plt.show()
         # Return the plotting axes:
         return phase_axis, holo_axis
 
-    def make_color_wheel(self):
+    @classmethod
+    def make_color_wheel(cls):
         '''Display a color wheel to illustrate the color coding of the gradient direction.
     
         Parameters
@@ -445,6 +517,7 @@ class PhaseMap(object):
         None
     
         '''
+        cls.log.info('Calling make_color_wheel')
         x = np.linspace(-256, 256, num=512)
         y = np.linspace(-256, 256, num=512)
         xx, yy = np.meshgrid(x, y)
@@ -454,7 +527,7 @@ class PhaseMap(object):
         color_wheel_magnitude *= 0 * (r > 256) + 1 * (r <= 256)
         color_wheel_angle = (1 - np.arctan2(xx, -yy)/pi) / 2
         # Color code the angle and create the holography image:
-        rgba = self.HOLO_CMAP(color_wheel_angle)
+        rgba = cls.HOLO_CMAP(color_wheel_angle)
         rgb = (255.999 * color_wheel_magnitude.T * rgba[:, :, :3].T).T.astype(np.uint8)
         color_wheel = Image.fromarray(rgb)
         # Plot the color wheel:
@@ -463,3 +536,7 @@ class PhaseMap(object):
         axis.imshow(color_wheel, origin='lower')
         axis.xaxis.set_major_locator(NullLocator())
         axis.yaxis.set_major_locator(NullLocator())
+        plt.show()
+
+
+PhaseMap.make_color_wheel()
diff --git a/pyramid/phasemapper.py b/pyramid/phasemapper.py
index e6421d2..772e6fa 100644
--- a/pyramid/phasemapper.py
+++ b/pyramid/phasemapper.py
@@ -14,7 +14,7 @@ from numpy import pi
 
 import abc
 
-import pyramid.numcore as nc
+import pyramid.numcore.kernel_core as nc
 from pyramid.kernel import Kernel
 from pyramid.projector import Projector
 from pyramid.magdata import MagData
@@ -46,13 +46,13 @@ class PMAdapterFM(PhaseMapper):
         assert isinstance(projector, Projector), 'Argument has to be a Projector object!'
         self.a = a
         self.projector = projector
-        self.fwd_model = ForwardModel([projector], Kernel(a, projector.dim, b_0, geometry))
+        self.fwd_model = ForwardModel([projector], Kernel(a, projector.dim_2d, b_0, geometry))
 
     def __call__(self, mag_data):
         assert isinstance(mag_data, MagData), 'Only MagData objects can be mapped!'
         assert  mag_data.a == self.a, 'Grid spacing has to match!'
         # TODO: test if mag_data fits in all aspects
-        phase_map = PhaseMap(self.a, np.zeros(self.projector.dim))
+        phase_map = PhaseMap(self.a, np.zeros(self.projector.dim_2d))
         phase_map.phase_vec = self.fwd_model(mag_data.mag_vec)
         return phase_map
 
@@ -94,11 +94,12 @@ class PMFourier(PhaseMapper):
         assert isinstance(mag_data, MagData), 'Only MagData objects can be mapped!'
         assert  mag_data.a == self.a, 'Grid spacing has to match!'
         # TODO: test if mag_data fits in all aspects (especially with projector)
-        v_dim, u_dim = self.projector.dim
-        u_mag, v_mag = self.projector(mag_data.mag_vec).reshape((2,)+self.projector.dim)
+        v_dim, u_dim = self.projector.dim_2d
+        u_mag, v_mag = self.projector(mag_data.mag_vec).reshape((2,)+self.projector.dim_2d)
         # Create zero padded matrices:
         u_pad = u_dim/2 * self.padding
         v_pad = v_dim/2 * self.padding
+        # TODO: use mag_data.padding or np.pad(...)
         u_mag_big = np.zeros(((1 + self.padding) * v_dim, (1 + self.padding) * u_dim))
         v_mag_big = np.zeros(((1 + self.padding) * v_dim, (1 + self.padding) * u_dim))
         u_mag_big[v_pad:v_pad+v_dim, u_pad:u_pad+u_dim] = u_mag
@@ -218,12 +219,12 @@ class PMConvolve(PhaseMapper):
         self.a = a
         self.projector = projector
         self.threshold = threshold
-        self.kernel = Kernel(a, projector.dim, b_0, geometry)
+        self.kernel = Kernel(a, projector.dim_2d, b_0, geometry)
 
     def __call__(self, mag_data):
         # Docstring!
         # Process input parameters:
-        u_mag, v_mag = self.projector(mag_data.mag_vec).reshape((2,)+self.projector.dim)    
+        u_mag, v_mag = self.projector(mag_data.mag_vec).reshape((2,)+self.projector.dim_2d)    
         # Fourier transform the projected magnetisation:
         kernel = self.kernel
         u_mag_fft = np.fft.rfftn(u_mag, kernel.dim_fft)
@@ -267,15 +268,14 @@ class PMReal(PhaseMapper):
         self.a = a
         self.projector = projector
         self.threshold = threshold
-        self.kernel = Kernel(a, projector.dim, b_0, geometry)
+        self.kernel = Kernel(a, projector.dim_2d, b_0, geometry)
         self.numcore = numcore
 
     def __call__(self, mag_data):
         # TODO: Docstring
         # Process input parameters: 
-        dim = self.projector.dim
+        dim = self.projector.dim_2d
         threshold = self.threshold
-        v_dim, u_dim = self.projector.dim
         u_mag, v_mag = self.projector(mag_data.mag_vec).reshape((2,)+dim)
         # Create kernel (lookup-tables for the phase of one pixel):
         u_phi = self.kernel.u
diff --git a/pyramid/projector.py b/pyramid/projector.py
index 2853857..85e8641 100644
--- a/pyramid/projector.py
+++ b/pyramid/projector.py
@@ -1,13 +1,9 @@
 # -*- coding: utf-8 -*-
-"""Create projections of a given magnetization distribution.
+"""This module provides the abstract base class :class:`~.Projector` and concrete subclasses for
+projections of vector and scalar fields."""
 
-This module creates 2-dimensional projections from 3-dimensional magnetic distributions, which
-are stored in :class:`~pyramid.magdata.MagData` objects. Either simple projections along the
-major axes are possible (:func:`~.simple_axis_projection`), or projections with a tilt around
-the y-axis. The thickness profile is also calculated and can be used for electric phase maps.
-
-"""
 
+import logging
 
 import numpy as np
 from numpy import pi
@@ -16,59 +12,68 @@ import abc
 
 import itertools
 
-import scipy.sparse as sp
-from scipy.sparse import coo_matrix, csr_matrix, csr_matrix
-
-from pyramid.magdata import MagData
-
-
-
-
-
-
+from scipy.sparse import coo_matrix, csr_matrix
 
 
 class Projector(object):
 
-    '''
+    '''Abstract base class representing a projection function.
+    
+    The :class:`~.Projector` class represents a projection function for a 3-dimensional
+    vector- or scalar field onto a 2-dimensional grid. :class:`~.Projector` is an abstract base
+    class and provides a unified interface which should be subclassed with a custom
+    :func:`__init__` function, which should call the parent :func:`__init__` method. Concrete
+    subclasses can be called as a function and take a `vector` as argument which contains the
+    3-dimensional field. The output is the projected field, given as a `vector`. Depending on the
+    length of the input and the given dimensions `dim` at construction time, vector or scalar
+    projection is choosen intelligently.
 
     Attributes
     ----------
-    
+    dim_2d : tuple (N=2)
+        Dimensions (v, u) of the projected grid.
+    size_3d : int
+        Number of voxels of the 3-dimensional grid.
+    size_2d : int
+        Number of pixels of the 2-dimensional projected grid.
+    weight : :class:`~scipy.sparse.csr_matrix` (N=2)
+        The weight matrix containing the weighting coefficients describing the influence of all
+        3-dimensional voxels on the 2-dimensional pixels of the projection.
+    coeff : list (N=2)
+        List containing the six weighting coefficients describing the influence of the 3 components
+        of a 3-dimensional vector field on the 2 projected components.
 
-    
-    ''' # TODO: Docstring!
+    '''
 
     __metaclass__ = abc.ABCMeta
 
     @abc.abstractmethod
     def __init__(self, (dim_v, dim_u), weight, coeff):
-        #TODO: Docstring!
-        self.dim = (dim_v, dim_u)  # TODO: are they even used?
+        self.log = logging.getLogger(__name__)
+        self.log.info('Calling __init__')
+        self.dim_2d = (dim_v, dim_u)
         self.weight = weight
         self.coeff = coeff
         self.size_2d, self.size_3d = weight.shape
+        self.log.info('Created '+str(self))
 
     def __call__(self, vector):
-        # TODO: Docstring!
-        assert any([len(vector) == i*self.size_3d for i in (1, 3)]), \
-            'Vector size has to be suited either for vector- or scalar-field-projection!'
+        self.log.info('Calling as function')         
         if len(vector) == 3*self.size_3d:  # mode == 'vector'
+            self.log.info('mode == vector')
             return self._vector_field_projection(vector)
         elif len(vector) == self.size_3d:  # mode == 'scalar'
+            self.log.info('mode == scalar')
             return self._scalar_field_projection(vector)
-        # TODO: Raise Assertion Error
+        else:
+            raise AssertionError('Vector size has to be suited either for ' \
+                                 'vector- or scalar-field-projection!')
 
     def _vector_field_projection(self, vector):
-        # TODO: Docstring!
+        self.log.info('Calling _vector_field_projection')
         size_2d, size_3d = self.size_2d, self.size_3d
         result = np.zeros(2*size_2d)
-#        for j in range(2):
-#            for i in range(3):
-#                if coefficient[j, i] != 0:
-#                    result[j*self.size_2d:(j+1)*self.size_2d] += self.coeff[j, i] * self.weight.dot(vector[j*length:(j+1)*length])
-        # x_vec, y_vec, z_vec = vector[:length], vector[length:2*length], vector[2*length]
-        # TODO: Which solution?
+        # Go over all possible component projections (z, y, x) to (u, v):
         if self.coeff[0][0] != 0:  # x to u
             result[:size_2d] += self.coeff[0][0] * self.weight.dot(vector[:size_3d])
         if self.coeff[0][1] != 0:  # y to u
@@ -84,30 +89,87 @@ class Projector(object):
         return result
 
     def _scalar_field_projection(self, vector):
-        # TODO: Docstring!
-        # TODO: Implement smarter weight-multiplication!
+        self.log.info('Calling _scalar_field_projection')
         return np.array(self.weight.dot(vector))
 
     def jac_dot(self, vector):
-        return self._vector_field_projection(vector)
+        '''Multiply a `vector` with the jacobi matrix of this :class:`~.Projector` object.
+
+        Parameters
+        ----------
+        vector : :class:`~numpy.ndarray` (N=1)
+            Vector containing the field which should be projected. Must have the same or 3 times
+            the size of `size_3d` of the projector for  scalar and vector projection, respectively.
+
+        Returns
+        -------
+        proj_vector : :class:`~numpy.ndarray` (N=1)
+            Vector containing the projected field of the 2-dimensional grid. The length is
+            always`size_2d`.
 
+        '''
+        self.log.info('Calling jac_dot')
+        return self(vector)
 
 
 
 class YTiltProjector(Projector):
 
+#    '''Class representing a projection where the projection axis is tilted around the y-axis.
+#    
+#    The :class:`~.YTiltProjector` class is a concrete subclass of the :class:`~.Projector` class
+#    and overwrites the :func:`__init__` constructor which accepts `dim` and `tilt` as arguments.
+#    The dimensions of the 3-dimensional grid are given by `dim`, the tilting angle of the ample
+#    around the y-axis is given by `tilt`.
+#
+#    Attributes
+#    ----------
+#    dim_2d : tuple (N=2)
+#        Dimensions (v, u) of the projected grid.
+#    size_3d : int
+#        Number of voxels of the 3-dimensional grid.
+#    size_2d : int
+#        Number of pixels of the 2-dimensional projected grid.
+#    weight : :class:`~scipy.sparse.csr_matrix` (N=2)
+#        The weight matrix containing the weighting coefficients describing the influence of all
+#        3-dimensional voxels on the 2-dimensional pixels of the projection.
+#    coeff : list (N=2)
+#        List containing the six weighting coefficients describing the influence of the 3 components
+#        of a 3-dimensional vector field on the 2 projected components.
+#    '''
+#
+#    '''
+#    weight : :class:`~scipy.sparse.csr_matrix` (N=2)
+#        The weight matrix containing the weighting coefficients which determine the influence of
+#        all 3-dimensional voxels to the 2-dimensional pixels of the projection.
+#    coeff : `list`t (N=2)
+#        List containing the six weighting coefficients describing the influence of the 3 components
+#        of a 3-dimensional vector fields on the 2 components of the projected field. Only used for
+#        vector field projection.
+#
+#    Notes
+#    -----
+#    An instance `projector` of the :class:`~.YSimpleProjector` class is callable via:
+#    
+#    :func:`projector(vector)`
+#    
+#    with `vector` being a :class:`~numpy.ndarray` (N=1).
+#    '''
+
     def __init__(self, dim, tilt):
-        # TODO: Docstring!
-        # TODO: Implement!
+
         def get_position(p, m, b, size):
+            self.log.info('Calling get_position')
             y, x = np.array(p)[:, 0]+0.5, np.array(p)[:, 1]+0.5
             return (y-m*x-b)/np.sqrt(m**2+1) + size/2.
     
         def get_impact(pos, r, size):
+            self.log.info('Calling get_impact')
             return [x for x in np.arange(np.floor(pos-r), np.floor(pos+r)+1, dtype=int)
                     if 0 <= x < size]
     
         def get_weight(delta, rho):  # use circles to represent the voxels
+            self.log.info('Calling get_weight')
             lo, up = delta-rho, delta+rho
             # Upper boundary:
             if up >= 1:
@@ -121,21 +183,21 @@ class YTiltProjector(Projector):
                 w_lo = (lo*np.sqrt(1-lo**2) + np.arctan(lo/np.sqrt(1-lo**2))) / pi
             return w_up - w_lo
 
+        self.log = logging.getLogger(__name__)
+        self.log.info('Calling __init__')
+        self.tilt = tilt
         # Set starting variables:
         # length along projection (proj, z), rotation (rot, y) and perpendicular (perp, x) axis:
         dim_proj, dim_rot, dim_perp = dim
         size_2d = dim_rot * dim_perp
         size_3d = dim_proj * dim_rot * dim_perp
-        
         # Creating coordinate list of all voxels:
         voxels = list(itertools.product(range(dim_proj), range(dim_perp)))
-    
         # Calculate positions along the projected pixel coordinate system:
         center = (dim_proj/2., dim_perp/2.)
         m = np.where(tilt<=pi, -1/np.tan(tilt+1E-30), 1/np.tan(tilt+1E-30))
         b = center[0] - m * center[1]
         positions = get_position(voxels, m, b, dim_perp)
-        
         # Calculate weight-matrix:
         r = 1/np.sqrt(np.pi)  # radius of the voxel circle
         rho = 0.5 / r
@@ -151,57 +213,80 @@ class YTiltProjector(Projector):
                 col.append(voxel[0]*size_2d + voxel[1])
                 row.append(impact)
                 data.append(get_weight(delta, rho))
-        # all other slices:
+        # All other slices:
         columns = col
         rows = row
         for i in np.arange(1, dim_rot):  # TODO: more efficient, please!
             columns = np.hstack((np.array(columns), np.array(col)+i*dim_perp))
             rows = np.hstack((np.array(rows), np.array(row)+i*dim_perp))
-
+        # Calculate weight matrix and coefficients for jacobi matrix:
         weight = csr_matrix(coo_matrix((np.tile(data, dim_rot), (rows, columns)),
-                                               shape = (size_2d, size_3d)))
+                                                shape = (size_2d, size_3d)))
         dim_v, dim_u = dim_rot, dim_perp
         coeff = [[np.cos(tilt), 0, np.sin(tilt)], [0, 1, 0]]
         super(YTiltProjector, self).__init__((dim_v, dim_u), weight, coeff)
+        self.log.info('Created '+str(self))
 
 
 class SimpleProjector(Projector):
 
-    # TODO: Docstring!
+#    '''Class representing a projection along one of the major axes (x, y, z).
+#    
+#    The :class:`~.SimpleProjector` class is a concrete subclass of the :class:`~.Projector` class
+#    and overwrites the :func:`__init__` constructor which accepts `dim` and `axis` as arguments.
+#    The dimensions of the 3-dimensional grid are given by `dim`, the major axis along which to
+#    project is given by `axis` and can be `'x'`, `'y'` or `'z'` (default).
+#
+#    Attributes
+#    ----------
+#    dim_2d : tuple (N=2)
+#        Dimensions (v, u) of the projected grid.
+#    weight : :class:`~scipy.sparse.csr_matrix` (N=2)
+#        The weight matrix containing the weighting coefficients which determine the influence of
+#        all 3-dimensional voxels to the 2-dimensional pixels of the projection.
+#    coeff : list (N=2)
+#        List containing the six weighting coefficients describing the influence of the 3 components
+#        of a 3-dimensional vector fields on the 2 components of the projected field. Only used for
+#        vector field projection.
+#    size_3d : int
+#        Number of voxels of the 3-dimensional grid.
+#    size_2d : int
+#        Number of pixels of the 2-dimensional projected grid.
+#
+#    Notes
+#    -----
+#    An instance `projector` of the :class:`~.SimpleProjector` class is callable via:
+#    
+#    :func:`projector(vector)`
+#
+#    with `vector` being a :class:`~numpy.ndarray` (N=1).
+#
+#    '''
+
+    AXIS_DICT = {'z': (0, 1, 2), 'y': (1, 0, 2), 'x': (1, 2, 0)}
 
     def __init__(self, dim, axis='z'):
-        # TODO: Docstring!
+        self.log = logging.getLogger(__name__)
+        self.log.info('Calling __init__')
+        proj, v, u = self.AXIS_DICT[axis]
+        dim_proj, dim_v, dim_u = dim[proj], dim[v], dim[u]
+        dim_z, dim_y, dim_x = dim
+        size_2d = dim_u * dim_v
+        size_3d = np.prod(dim)
+        data = np.repeat(1, size_3d)
+        indptr = np.arange(0, size_3d+1, dim_proj)
         if axis == 'z':
-            dim_z, dim_y, dim_x = dim   # TODO: in functions
-            dim_proj, dim_v, dim_u = dim
-            size_2d = dim_u * dim_v
-            size_3d = dim_x * dim_y * dim_z
-            data = np.repeat(1, size_3d)
-            indptr = np.arange(0, size_3d+1, dim_proj)
+            coeff = [[1, 0, 0], [0, 1, 0]]
             indices = np.array([np.arange(row, size_3d, size_2d) 
                                 for row in range(size_2d)]).reshape(-1)
-            weight = csr_matrix((data, indices, indptr), shape = (size_2d, size_3d))
-            coeff = [[1, 0, 0], [0, 1, 0]]
         elif axis == 'y':
-            dim_z, dim_y, dim_x = dim
-            dim_v, dim_proj, dim_u = dim
-            size_2d = dim_u * dim_v
-            size_3d = dim_x * dim_y * dim_z
-            data = np.repeat(1, size_3d)
-            indptr = np.arange(0, size_3d+1, dim_proj)
+            coeff = [[1, 0, 0], [0, 0, 1]]
             indices = np.array([np.arange(row%dim_x, dim_x*dim_y, dim_x)+int(row/dim_x)*dim_x*dim_y
                                 for row in range(size_2d)]).reshape(-1)
-            weight = csr_matrix((data, indices, indptr), shape = (size_2d, size_3d))
-            coeff = [[1, 0, 0], [0, 0, 1]]
         elif axis == 'x':
-            dim_z, dim_y, dim_x = dim
-            dim_v, dim_u, dim_proj = dim
-            size_2d = dim_u * dim_v
-            size_3d = dim_x * dim_y * dim_z
-            data = np.repeat(1, size_3d)
-            indptr = np.arange(0, size_3d+1, dim_proj)
+            coeff = [[0, 1, 0], [0, 0, 1]]
             indices = np.array([np.arange(dim_proj) + row*dim_proj
                                 for row in range(size_2d)]).reshape(-1)
-            weight = csr_matrix((data, indices, indptr), shape = (size_2d, size_3d))
-            coeff = [[0, 1, 0], [0, 0, 1]]  
+        weight = csr_matrix((data, indices, indptr), shape = (size_2d, size_3d))
         super(SimpleProjector, self).__init__((dim_v, dim_u), weight, coeff)
+        self.log.info('Created '+str(self))
diff --git a/regrid/array.cpp b/regrid/array.cpp
new file mode 100644
index 0000000..23d46f3
--- /dev/null
+++ b/regrid/array.cpp
@@ -0,0 +1,46 @@
+#define NO_IMPORT_ARRAY
+
+#include "gloripex.hpp"
+#include "array.hpp"
+
+namespace gloripex {
+    using namespace boost::python;
+    /// Converts a numpy array to an Array instance if possible. Uses
+    /// constructor of Array class, but needs to manually generate a boost
+    /// object from raw pointer..
+    template <class T>
+    struct ArrayConverter {
+        ArrayConverter() {
+            converter::registry::push_back(&convertible, &construct, type_id<T>());
+        }
+
+        static void* convertible(PyObject* obj_ptr) {
+           return is_object_convertible_to_array<T>(obj_ptr) ? obj_ptr : 0;
+        }
+
+      /// See here for an explanation
+      /// http://mail.python.org/pipermail/cplusplus-sig/2008-October/013895.html
+        static void construct(PyObject* obj_ptr,
+                              converter::rvalue_from_python_stage1_data* data)
+        {
+            object obj(handle<>(borrowed(obj_ptr)));
+            data->convertible = (reinterpret_cast<converter::rvalue_from_python_storage<T>*> (data))->storage.bytes;
+            new (data->convertible) T(obj);
+        }
+    };
+
+  // Add converters as necessary
+  ArrayConverter<Array<cub_t, 1> > array_cub_t_1_converter;
+  ArrayConverter<Array<cub_t, 2> > array_cub_t_2_converter;
+  ArrayConverter<Array<cub_t, 3> > array_cub_t_3_converter;
+
+  ArrayConverter<Array<float, 1> > array_float_1_converter;
+  ArrayConverter<Array<float, 2> > array_float_2_converter;
+  ArrayConverter<Array<float, 3> > array_float_3_converter;
+
+  ArrayConverter<Array<double, 1> > array_double_1_converter;
+  ArrayConverter<Array<double, 2> > array_double_2_converter;
+  ArrayConverter<Array<double, 3> > array_double_3_converter;
+
+  ArrayConverter<Array<size_t, 1> > array_sizet_1_converter;
+}
diff --git a/regrid/array.hpp b/regrid/array.hpp
new file mode 100644
index 0000000..6b0b268
--- /dev/null
+++ b/regrid/array.hpp
@@ -0,0 +1,162 @@
+//
+// Copyright 2013 by Forschungszentrum Juelich GmbH
+//
+
+#ifndef GLORIPEX_ARRAY_HPP
+#define GLORIPEX_ARRAY_HPP
+
+#include "numpy.hpp"
+
+namespace gloripex {
+
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+    /// Determines whether a python object is a numpy array fitting to the Array
+    /// type supplied by T.
+    ///
+    /// Example:
+    /// if (is_object_convertible_to_array<Array<double, 3> >(obj_ptr)) { ... }
+    template<typename T>
+    bool is_object_convertible_to_array(PyObject* obj_ptr) {
+        return (PyArray_Check(obj_ptr) &&
+                PyArray_TYPE(obj_ptr) == numpy::getTypeID(typename T::value_type()) &&
+                PyArray_NDIM(obj_ptr) == T::ndim());
+    }
+#pragma GCC diagnostic warning "-Wold-style-cast"
+
+    /// \brief A fast array class suited to our needs. Based on the Blitz++
+    /// concept without the fancy stuff.
+    template<typename T, int ndimm>
+    struct Array {
+        // some typedefs for making this STL compatible
+        typedef Array<T, ndimm> type;
+        typedef T value_type;
+        typedef T* iterator;
+        typedef const T* const_iterator;
+        typedef T& reference;
+        typedef const T& const_reference;
+        typedef size_t size_type;
+
+        /// Function that provides a neat wrapper around numpy arrays. No copying is
+        /// performed. User needs to supply dimensionality and type, but it is
+        /// checked during runtime, if it fits!
+        ///
+        /// object is const, but this class does not really care about this...
+        /// Instantiate a const Array if object should really be const.
+        Array(const python::object& object) :
+            object_(object),
+            data_(static_cast<T*>(numpy::getArrayData(this->object_)))
+        {
+            this->initialise();
+        }
+
+        /// This function creates a numpy array. It may be accessed later on
+        /// with the object member function, e.g. for returning it to python.
+        Array(const std::vector<npy_intp>& dims) :
+            object_(numpy::createFromScratch<T>(dims)),
+            data_(static_cast<T*>(numpy::getArrayData(this->object_)))
+        {
+            this->initialise();
+        }
+
+        Array(const Array<T, ndimm>& other) :
+            object_(other.object_),
+            data_(static_cast<T*>(numpy::getArrayData(this->object_)))
+        {
+            this->initialise();
+        }
+
+        /// 1D access
+        inline const T& operator() (size_type idx0) const {
+            static_assert(ndimm == 1, "dimensionality does not fit function call");
+            return this->data()[idx0 * this->stride(0)];
+        }
+        /// 1D access
+        inline T& operator() (size_type idx0) {
+            static_assert(ndimm == 1, "dimensionality does not fit function call");
+            return this->data()[idx0 * this->stride(0)];
+        }
+        /// 2D access
+        inline const T& operator() (size_type idx0, size_type idx1) const {
+            static_assert(ndimm == 2, "dimensionality does not fit function call");
+            return this->data()[idx0 * this->stride(0) + idx1 * this->stride(1)];
+        }
+        /// 2D access
+        inline T& operator() (size_type idx0, size_type idx1) {
+            static_assert(ndimm == 2, "dimensionality does not fit function call");
+            return this->data()[idx0 * this->stride(0) + idx1 * this->stride(1)];
+        }
+        /// 3D access
+        inline const T& operator() (size_type idx0, size_type idx1, size_type idx2) const {
+            static_assert(ndimm == 3, "dimensionality does not fit function call");
+            return this->data()[idx0 * this->stride(0) + idx1 * this->stride(1) +
+                                idx2 * this->stride(2)];
+        }
+        /// 3D access
+        inline T& operator() (size_type idx0, size_type idx1, size_type idx2) {
+            static_assert(ndimm == 3, "dimensionality does not fit function call");
+            return this->data()[idx0 * this->stride(0) + idx1 * this->stride(1) +
+                                idx2 * this->stride(2)];
+        }
+
+        inline iterator begin() { return this->data(); }
+        inline const_iterator begin() const { return this->data(); }
+        inline iterator end() { return this->data() + this->size(); }
+        inline const_iterator end()  const { return this->data() + this->size(); }
+
+        /// returns the number of dimensions.
+        static inline int ndim() { return ndimm; }
+
+        /// returns the total size of the array
+        size_type size() const {
+            size_type result = shape(0);
+            for (int i = 1; i < this->ndim(); ++ i) {
+                result *= this->shape(i);
+            }
+            return result;
+        }
+        /// This function explores the shape of the array.
+        inline size_type shape(size_type dim) const {
+            assert(0 <= dim && dim < ndimm);
+            return static_cast<size_type>(numpy::getArrayDims(this->object_)[dim]);
+        }
+        /// This function explores the strides of the array.
+        inline size_type stride(size_type dim) const { return this->stride_[dim]; }
+        /// Returns pointer to underlying data.
+        inline T* data() const { return this->data_; }
+
+        /// Returns the wrapped object.
+        inline python::object object() const { return this->object_; }
+
+        template<typename T2, int ndim2>
+        friend std::ostream& operator<<(std::ostream& os, const Array<T2, ndim2>& a);
+
+    private:
+
+        void initialise() {
+            assert(is_object_convertible_to_array<type>(this->object_.ptr()));
+
+            for (int i = 0; i < ndimm; ++ i) {
+                this->stride_[i] = numpy::getArrayStrides(this->object_)[i] / sizeof(T);
+            }
+        }
+
+    protected:
+        /// Reference to python array object
+        python::object object_;
+        /// Holds the a pointer to the memory of the array (regardless of who manages it).
+        T* data_;
+        /// \brief Stores the stride of the array (e.g., 20(=4*5) and 5 for a
+        /// 3x4x5 array).
+        size_type stride_[ndimm];
+    };
+
+    // ****************************************************************************
+
+    template<typename T2, int ndim2>
+    std::ostream& operator<<(std::ostream& os, const Array<T2, ndim2>& a) {
+        os << python::extract<std::string>(a.object_.attr("__str__")())();
+        return os;
+    }
+}
+
+#endif
diff --git a/regrid/gloripex.hpp b/regrid/gloripex.hpp
new file mode 100644
index 0000000..511b96f
--- /dev/null
+++ b/regrid/gloripex.hpp
@@ -0,0 +1,95 @@
+//
+// Copyright 2013 by Forschungszentrum Juelich GmbH
+//
+#ifndef GLORIPEX_HPP
+#define GLORIPEX_HPP
+
+// this removes strange linkage issues with extensions covering multiple files
+#define PY_ARRAY_UNIQUE_SYMBOL GLORIPEX_PY_ARRAY
+
+#include <iostream>
+#include <iomanip>
+#include <sstream>
+#include <vector>
+#include <complex>
+#include <boost/python/detail/wrap_python.hpp>
+#include <boost/python.hpp>
+#include <numpy/arrayobject.h>
+
+#ifdef _OPENMP
+#include <omp.h>
+#endif
+
+
+namespace std {
+    /// Conveniencev  vvc ostream operator for std::vector.
+    template<typename T>
+    inline std::ostream& operator<<(std::ostream& os, const std::vector<T>& vec) {
+        os << "[";
+        for (typename std::vector<T>::size_type i = 0; i < vec.size(); ++ i) {
+            os << (i == 0 ? "" : ", ") << vec[i];
+        }
+        os << "]";
+        return os;
+    }
+
+    /// Convenience ostream operator for std::vector<std::string>.
+    template<>
+    inline std::ostream& operator<<(std::ostream& os, const std::vector<std::string>& vec) {
+        os << "[";
+        for (std::vector<std::string>::size_type i = 0; i < vec.size(); ++ i) {
+            os << (i == 0 ? "'" : ", '") << vec[i] << "'";
+        }
+        os << "]";
+        return os;
+    }
+}
+
+
+namespace gloripex {
+    namespace python = boost::python;
+
+    typedef std::complex<float> complex64;
+    typedef std::complex<double> complex128;
+    typedef uint16_t cub_t;
+
+    /// Simple struct for error handling.
+    ///
+    /// This should be the base struct of all gloripy Exceptions. It is
+    /// translated to a python runtime error.
+    struct Exception : std::exception {
+        std::string msg_;
+        Exception(std::string msg)  : msg_(msg) {}
+        virtual ~Exception() throw() {}
+        virtual char const* what() const throw() { return msg_.c_str(); }
+    };
+
+    /// An assert that throws an exception instead of aborting the program.
+#ifndef NDEBUG
+#define gassert(cond, msg)                              \
+    if (!(cond)) {                                      \
+        std::ostringstream message;                     \
+        message << __FILE__ << ":"                      \
+                << std::setw(4) << __LINE__ << ": "     \
+                << msg << std::endl;                    \
+        throw Exception(message.str());                 \
+    }
+#else
+#define gassert(cond, msg) (void) (0)
+#endif
+
+    /// This functions takes a datum and returns a string representation.
+    template<typename T>
+    inline std::string toString(const T& object) {
+        std::stringstream result;
+        result << object;
+        return result.str();
+    }
+
+    /// Allows printing of all boost::python wrapped python objects.
+    inline std::ostream& operator<<(std::ostream& os, const python::object& object) {
+        os << python::extract<std::string>(object.attr("__str__")())();
+        return os;
+    }
+}
+#endif
diff --git a/regrid/numpy.hpp b/regrid/numpy.hpp
new file mode 100644
index 0000000..568b630
--- /dev/null
+++ b/regrid/numpy.hpp
@@ -0,0 +1,93 @@
+//
+// Copyright 2013 by Forschungszentrum Juelich GmbH
+//
+
+#ifndef GLORIPEX_NUMPY
+#define GLORIPEX_NUMPY
+
+
+namespace gloripex {
+    namespace numpy {
+      typedef python::numeric::array ndarray;
+
+        inline int getTypeID(float) { return NPY_FLOAT; }
+        inline int getTypeID(double) { return NPY_DOUBLE; }
+        inline int getTypeID(long double) { return NPY_LONGDOUBLE; }
+        inline int getTypeID(signed char) { return NPY_BYTE; }
+        inline int getTypeID(unsigned char) { return NPY_UBYTE; }
+        inline int getTypeID(int) { return NPY_INT; }
+        inline int getTypeID(unsigned int) { return NPY_UINT; }
+        inline int getTypeID(short) { return NPY_SHORT; }
+        inline int getTypeID(unsigned short) { return NPY_USHORT; }
+        inline int getTypeID(unsigned long) { return NPY_ULONG; }
+        inline int getTypeID(long) { return NPY_LONG; }
+
+
+        inline int getArrayType(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->descr->type_num;
+        }
+
+        inline npy_intp* getArrayDims(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->dimensions;
+        }
+
+        inline npy_intp* getArrayStrides(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->strides;
+        }
+
+        inline int getArrayNDims(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->nd;
+        }
+
+        inline void* getArrayData(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->data;
+        }
+
+        inline PyArray_Descr* getArrayDescription(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->descr;
+        }
+
+        inline int getArrayItemsize(const python::object &x) {
+            return reinterpret_cast<PyArrayObject*>(x.ptr())->descr->elsize;
+        }
+
+        template<typename T>
+        inline T* getArrayDataAs(const python::object &x) {
+            return reinterpret_cast<T*>(getArrayData(x));
+        }
+
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+        inline bool isArray(const python::object &x) {
+            return PyArray_Check(x.ptr());
+        }
+
+        /// Creates an empty python array.
+        template<typename T>
+        inline ndarray createFromScratch(const std::vector<npy_intp>& dims) {
+            PyObject* ptr = PyArray_SimpleNew(
+                    static_cast<int>(dims.size()),
+                    const_cast<npy_intp*>(&dims[0]),
+                    getTypeID(T()));
+            python::handle<> hndl(ptr);
+            return ndarray(hndl);
+        }
+
+        /// Creates a python array from existing memory. As the lifetime of the
+        /// python object cannot be controlled, it is rather dangerous to delete
+        /// the memory. Use with utmost care.
+        template<typename T>
+        inline ndarray createFromData(
+                const std::vector<npy_intp>& dims, T* data) {
+            PyObject* ptr = PyArray_SimpleNewFromData(
+                    static_cast<int>(dims.size()),
+                    const_cast<npy_intp*>(&dims[0]),
+                    getTypeID(T()),
+                    data);
+            python::handle<> hndl(ptr);
+            return ndarray(hndl);
+        }
+#pragma GCC diagnostic warning "-Wold-style-cast"
+    }
+}
+
+#endif
diff --git a/regrid/regrid.cc b/regrid/regrid.cc
new file mode 100644
index 0000000..45f0449
--- /dev/null
+++ b/regrid/regrid.cc
@@ -0,0 +1,94 @@
+
+// this removes strange linkage issues with extensions covering multiple files
+#define PY_ARRAY_UNIQUE_SYMBOL GLORIPEX_PY_ARRAY
+#include <iostream>
+#include <iomanip>
+#include <sstream>
+#include <vector>
+#include <complex>
+#include <boost/python/detail/wrap_python.hpp>
+#include <boost/python.hpp>
+#include <numpy/arrayobject.h>
+
+namespace python = boost::python;
+
+#include "numpy.hpp"
+#include "array.hpp"
+
+#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
+
+#include <CGAL/Delaunay_triangulation_2.h>
+#include <CGAL/Delaunay_triangulation_3.h>
+
+#include <CGAL/Triangulation_vertex_base_with_info_3.h>
+#include <CGAL/Triangulation_vertex_base_with_info_2.h>
+
+#include <CGAL/natural_neighbor_coordinates_2.h>
+#include <CGAL/natural_neighbor_coordinates_3.h>
+
+struct Interpolate {
+
+  typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
+  typedef Kernel::FT CoordType;
+  typedef Kernel::Point_3 Point;
+  typedef CGAL::Triangulation_vertex_base_with_info_3<unsigned, Kernel> Vb;
+  typedef CGAL::Triangulation_data_structure_3<Vb> Tds;
+  typedef CGAL::Delaunay_triangulation_3<Kernel, Tds> DelaunayTriangulation;
+  typedef DelaunayTriangulation::Vertex_handle VertexHandle;
+
+  DelaunayTriangulation T_;
+  const gloripex::Array<double, 2> data_;
+
+  Interpolate(const gloripex::Array<double, 2>& data) :
+    data_(data)
+  {
+    const auto size = data_.shape(0);
+    for (size_t i = 0; i < size; ++ i) {
+      this->T_.insert(Point(data_(i, 0), data_(i, 1), data_(i, 2)))->info() = i;
+    }
+  }
+
+  // *****************************************************************************
+
+  void interpolate(const gloripex::Array<double, 2>& coord2) const
+  {
+    gloripex::Array<double, 2>& coord = const_cast<gloripex::Array<double, 2>&>(coord2);
+    // coordinate computation
+    const auto size = coord.shape(0);
+
+    for (size_t i = 0; i < size; ++ i) {
+      Point p(coord(i, 0), coord(i, 1), coord(i, 2));
+      std::vector<std::pair<VertexHandle, CoordType> > vertices;
+      CoordType norm;
+
+      CGAL::laplace_natural_neighbor_coordinates_3(this->T_, p, std::back_inserter(vertices), norm);
+
+      if (! vertices.empty()) {
+        for (int j = 3; j < data_.shape(1); ++ j) {
+          coord(i, j) = 0;
+        }
+        for (const auto& vertex : vertices) {
+          double weight = vertex.second / norm;
+          for (int j = 3; j < data_.shape(1); ++ j) {
+            coord(i, j) += weight * data_((vertex.first)->info(), j);
+          }
+
+        }
+      } else {
+        for (int j = 3; j < data_.shape(1); ++ j) {
+          coord(i, j) = std::numeric_limits<double>::quiet_NaN();
+        }
+      }
+    }
+  }
+};
+
+BOOST_PYTHON_MODULE(regrid)
+{
+  python::numeric::array::set_module_and_type("numpy", "ndarray");
+  import_array();
+
+  python::class_<Interpolate>("regrid", python::init<const gloripex::Array<double, 2>&>())
+    .def("__call__", &Interpolate::interpolate);
+}
+
diff --git a/regrid/regrid.o b/regrid/regrid.o
new file mode 100644
index 0000000000000000000000000000000000000000..d7cfe16e98b29c5539685fabfb573cff83ca4536
GIT binary patch
literal 2790936
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%0DY&BlPKQ^NK
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%0AfdvH-XG0)(U>zqtv_m9S8TgN?P3TBqY#$Q
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
a6MrvyGkCOrbJ&0Ce(`y?_W9dS^#2C|02x~V

literal 0
HcmV?d00001

diff --git a/regrid/test.py b/regrid/test.py
new file mode 100644
index 0000000..108f0ae
--- /dev/null
+++ b/regrid/test.py
@@ -0,0 +1,39 @@
+from regrid import regrid
+from pylab import *
+
+
+# semi irregular grid:
+data = zeros((10**3,6))
+o = mgrid[0:10, 0:10, 0:10]
+for i in range(3):
+    data[:, i] = o[i].reshape(-1)
+data += rand(1000,6)
+data -= 0.5
+
+
+# dummy data
+data[:, 3] = sin(data[:, 0] * pi / 2.) + cos(data[:, 1] * pi / 4.) + data[:, 2]
+data[:, 4] = data[:, 0] + data[:, 1] + data[:, 2]
+data[:, 5] = 0
+
+# initialize regridding
+functor = regrid(data)
+
+# regular grid
+n = 50
+p = mgrid[0:n, 0:n, 0:n] / 5.
+data2 = zeros((n ** 3, 6))
+for i in range(3):
+    data2[:, i] = p[i].reshape(-1)
+
+# perform regridding
+functor(data2)
+
+# visualize some portion
+data2 = ma.masked_where(isnan(data2), data2)
+print data2.shape, data2[:, 3:].shape
+pcolor(data2[:, 3].reshape(n, n, n)[:, :, 5])
+colorbar()
+show()
+
+
diff --git a/scripts/compare methods/logfile.log b/scripts/compare methods/logfile.log
new file mode 100644
index 0000000..e69de29
diff --git a/scripts/create distributions/create_logo.py b/scripts/create distributions/create_logo.py
index fe6cde5..a1561fe 100644
--- a/scripts/create distributions/create_logo.py	
+++ b/scripts/create distributions/create_logo.py	
@@ -11,11 +11,9 @@ import numpy as np
 from numpy import pi
 
 import pyramid.magcreator as mc
-import pyramid.projector as pj
-import pyramid.phasemapper as pm
-import pyramid.holoimage as hi
+from pyramid.phasemapper import PMAdapterFM
 from pyramid.magdata import MagData
-from pyramid.phasemap import PhaseMap
+from pyramid.projector import SimpleProjector
 
 
 def create_logo():
@@ -43,9 +41,9 @@ def create_logo():
     # Create magnetic data, project it, get the phase map and display the holography image:
     mag_data = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
     mag_data.quiver_plot()
-    projection = pj.simple_axis_projection(mag_data)
-    phase_map = PhaseMap(a, pm.phase_mag(a, projection))
-    hi.display(hi.holo_image(phase_map, density), 'PYRAMID - LOGO', interpolation='bilinear')
+    projector = SimpleProjector(dim)
+    phase_map = PMAdapterFM(a, projector)(mag_data)
+    phase_map.display_holo(density, 'PYRAMID - LOGO', interpolation='bilinear', grad_encode='none')
 
 
 if __name__ == "__main__":
diff --git a/scripts/create distributions/logfile.log b/scripts/create distributions/logfile.log
new file mode 100644
index 0000000..e69de29
diff --git a/scripts/edinburgh_test.py b/scripts/edinburgh_test.py
new file mode 100644
index 0000000..f101582
--- /dev/null
+++ b/scripts/edinburgh_test.py
@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Jan 28 15:15:08 2014
+
+@author: Jan
+"""
+
+
+import numpy as np
+from pyramid.magdata import MagData
+from pyramid.projector import SimpleProjector
+from pyramid.phasemapper import PMAdapterFM
+from matplotlib.ticker import FuncFormatter
+
+data = np.loadtxt('../output/data from Edinburgh/long_grain_remapped_0p0035.txt', delimiter=',')
+
+a = 1000 * (data[1, 2] - data[0, 2])
+
+dim = len(np.unique(data[:, 2])), len(np.unique(data[:, 1])), len(np.unique(data[:, 0]))
+
+mag_vec = np.concatenate([data[:, 3], data[:, 4], data[:, 5]])
+
+x_mag = np.reshape(data[:, 3], dim, order='F')
+y_mag = np.reshape(data[:, 4], dim, order='F')
+z_mag = np.reshape(data[:, 5], dim, order='F')
+
+magnitude = np.array((x_mag, y_mag, z_mag))
+
+mag_data = MagData(a, magnitude)
+
+mag_data.pad(30, 20, 0)
+
+mag_data.scale_up()
+
+mag_data.quiver_plot()
+
+#mag_data.quiver_plot3d()
+
+projector = SimpleProjector(mag_data.dim)
+
+phasemapper = PMAdapterFM(mag_data.a, projector)
+
+phase_map = phasemapper(mag_data)
+
+phase_axis = phase_map.display_combined(density=20, interpolation='bilinear')[0]
+
+phase_axis.xaxis.set_major_formatter(FuncFormatter(lambda x, pos: '{:3.0f}'.format(x*mag_data.a)))
+phase_axis.yaxis.set_major_formatter(FuncFormatter(lambda x, pos: '{:3.0f}'.format(x*mag_data.a)))
+
+#phase_map.display_phase3d()
diff --git a/scripts/images_poster.py b/scripts/images_poster.py
new file mode 100644
index 0000000..d008673
--- /dev/null
+++ b/scripts/images_poster.py
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Feb 05 19:19:19 2014
+
+@author: Jan
+"""
+
+import os
+from numpy import pi
+
+import pyramid.magcreator as mc
+from pyramid.magdata import MagData
+from pyramid.phasemapper import PMConvolve
+from pyramid.projector import SimpleProjector
+
+import matplotlib.pyplot as plt
+
+
+
+directory = '../output/poster'
+if not os.path.exists(directory):
+    os.makedirs(directory)
+# Input parameters:
+a = 10.0  # nm
+dim = (64, 128, 128)
+# Slab:f
+center = (32, 32, 32)  # in px (z, y, x), index starts with 0!
+width = (322, 48, 48)  # in px (z, y, x)
+mag_shape_slab = mc.Shapes.slab(dim, center, width)
+# Disc:
+center = (32, 32, 96)  # in px (z, y, x), index starts with 0!
+radius = 24  # in px
+height = 24  # in px
+mag_shape_disc = mc.Shapes.disc(dim, center, radius, height)
+# Sphere:
+center = (32, 96, 64)  # in px (z, y, x), index starts with 0!
+radius = 24  # in px
+mag_shape_sphere = mc.Shapes.sphere(dim, center, radius)
+# Create empty MagData object and add magnetized objects:
+mag_data = MagData(a, mc.create_mag_dist_homog(mag_shape_slab, pi/6))
+mag_data += MagData(a, mc.create_mag_dist_vortex(mag_shape_disc, (32, 96)))
+mag_data += MagData(a, mc.create_mag_dist_homog(mag_shape_sphere, -pi/4))
+# Plot the magnetic distribution, phase map and holographic contour map:
+mag_data_coarse = mag_data.copy()
+mag_data_coarse.scale_down(2)
+mag_data_coarse.quiver_plot()
+plt.savefig(os.path.join(directory, 'mag.png'))
+mag_data_coarse.quiver_plot3d()
+projector = SimpleProjector(dim)
+phase_map = PMConvolve(a, projector, b_0=0.1)(mag_data)
+phase_map.display_phase()
+plt.savefig(os.path.join(directory, 'phase.png'))
+phase_map.display_holo(density=4, interpolation='bilinear')
+plt.savefig(os.path.join(directory, 'holo.png'))
+
+
+dim = (1, 9, 9)
+mag_shape = mc.Shapes.pixel(dim, (int(dim[0]/2), int(dim[1]/2), int(dim[2]/2)))
+mag_data_x = MagData(a, mc.create_mag_dist_homog(mag_shape, 0))
+mag_data_y = MagData(a, mc.create_mag_dist_homog(mag_shape, pi/2))
+phasemapper = PMConvolve(a, SimpleProjector(dim))
+phasemapper(mag_data_x).display_phase()
+phasemapper(mag_data_y).display_phase()
\ No newline at end of file
diff --git a/scripts/logfile.log b/scripts/logfile.log
new file mode 100644
index 0000000..8354e33
--- /dev/null
+++ b/scripts/logfile.log
@@ -0,0 +1 @@
+2014-02-08 21:43:12: INFO     @ <root>:    Calling copy
diff --git a/scripts/paper 1/ch5-0-evaluation_and_comparison.py b/scripts/paper 1/ch5-0-evaluation_and_comparison.py
index bdae236..00463cc 100644
--- a/scripts/paper 1/ch5-0-evaluation_and_comparison.py	
+++ b/scripts/paper 1/ch5-0-evaluation_and_comparison.py	
@@ -6,9 +6,6 @@ Created on Fri Jul 26 14:37:20 2013
 """
 
 
-import sys
-import traceback
-import pdb
 import os
 
 import numpy as np
@@ -24,99 +21,90 @@ import matplotlib.pyplot as plt
 from matplotlib.ticker import FixedFormatter, IndexLocator
 
 
-def run():
-
-    print '\nACCESS SHELVE'
-    # Create / Open databank:
-    directory = '../../output/paper 1'
-    if not os.path.exists(directory):
-        os.makedirs(directory)
-    data_shelve = shelve.open(directory + '/paper_1_shelve')
-
-    ###############################################################################################
-    print 'CH5-0 KERNELS'
-    
-    x = np.linspace(-5, 5, 1000)
-    
-    y_r = x/np.abs(x)**3
-    y_k = x/np.abs(x)**2
-    fig = plt.figure()
-    axis = fig.add_subplot(1, 1, 1, aspect='equal')
-    axis.plot(x,y_r, 'r', label=r'$r/|r|^3$')
-    axis.plot(x,y_k, 'b', label=r'$k/|k|^2$')
-    axis.set_xlim(-5, 5)
-    axis.set_ylim(-5, 5)
-    axis.axvline(0, linewidth=2, color='k')
-    axis.axhline(0, linewidth=2, color='k')
-    axis.legend()
-
-    ###############################################################################################
-    print 'CH5-0 MAGNETIC DISTRIBUTIONS'
-
-    key = 'ch5-0-magnetic_distributions'
-    if key in data_shelve:
-        print '--LOAD MAGNETIC DISTRIBUTIONS'
-        (mag_data_disc, mag_data_vort) = data_shelve[key]
-    else:
-        print '--CREATE MAGNETIC DISTRIBUTIONS'
-        # Input parameters:
-        a = 1.0  # in nm
-        phi = pi/2
-        dim = (16, 128, 128)  # in px (z, y, x)
-        # Create magnetic shape:
-        center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts at 0!
-        radius = dim[1]/4  # in px
-        height = dim[0]/2  # in px
-        mag_shape = mc.Shapes.disc(dim, center, radius, height)
-        print '--CREATE MAGN. DISTR. OF HOMOG. MAG. DISC'
-        mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
-        mag_data_disc.scale_down(2)
-        print '--CREATE MAGN. DISTR. OF VORTEX STATE DISC'
-        mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape, center))
-        mag_data_vort.scale_down(2)
-        # Mayavi-Plots:
-        mag_data_disc.quiver_plot3d()
-        mag_data_vort.quiver_plot3d()
-        print '--SHELVE MAGNETIC DISTRIBUTIONS'
-        data_shelve[key] = (mag_data_disc, mag_data_vort)
-
-    print '--PLOT/SAVE MAGNETIC DISTRIBUTIONS'
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Magnetic Distributions', fontsize=20)
-    # Plot MagData (Disc):
-    mag_data_disc.quiver_plot('Homog. magn. disc', axis=axes[0])
-    axes[0].set_aspect('equal')
-    axes[0].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
-    axes[0].yaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
-    axes[0].xaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
-    axes[0].yaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('x [ym]', fontsize=15)
-    # Plot MagData (Disc):
-    mag_data_vort.quiver_plot('Vortex state disc', axis=axes[1])
-    axes[1].set_aspect('equal')
-    axes[1].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
-    axes[1].yaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
-    axes[1].xaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
-    axes[1].yaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('x [ym]', fontsize=15)
-    # Save Plots:
-    plt.figtext(0.15, 0.15, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.15, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-0-magnetic_distributions.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CLOSING SHELVE\n'
-    # Close shelve:
-    data_shelve.close()
-
-    ###############################################################################################
-
-if __name__ == "__main__":
-    try:
-        run()
-    except:
-        type, value, tb = sys.exc_info()
-        traceback.print_exc()
-        pdb.post_mortem(tb)
+force_calculation = False
+
+
+print '\nACCESS SHELVE'
+# Create / Open databank:
+directory = '../../output/paper 1'
+if not os.path.exists(directory):
+    os.makedirs(directory)
+data_shelve = shelve.open(directory + '/paper_1_shelve')
+
+###############################################################################################
+print 'CH5-0 KERNELS'
+
+x = np.linspace(-5, 5, 1000)
+
+y_r = x/np.abs(x)**3
+y_k = x/np.abs(x)**2
+fig = plt.figure()
+axis = fig.add_subplot(1, 1, 1, aspect='equal')
+axis.plot(x,y_r, 'r', label=r'$r/|r|^3$')
+axis.plot(x,y_k, 'b', label=r'$k/|k|^2$')
+axis.set_xlim(-5, 5)
+axis.set_ylim(-5, 5)
+axis.axvline(0, linewidth=2, color='k')
+axis.axhline(0, linewidth=2, color='k')
+axis.legend()
+
+###############################################################################################
+print 'CH5-0 MAGNETIC DISTRIBUTIONS'
+
+key = 'ch5-0-magnetic_distributions'
+if key in data_shelve and not force_calculation:
+    print '--LOAD MAGNETIC DISTRIBUTIONS'
+    (mag_data_disc, mag_data_vort) = data_shelve[key]
+else:
+    print '--CREATE MAGNETIC DISTRIBUTIONS'
+    # Input parameters:
+    a = 1.0  # in nm
+    phi = pi/2
+    dim = (16, 128, 128)  # in px (z, y, x)
+    # Create magnetic shape:
+    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts at 0!
+    radius = dim[1]/4  # in px
+    height = dim[0]/2  # in px
+    mag_shape = mc.Shapes.disc(dim, center, radius, height)
+    print '--CREATE MAGN. DISTR. OF HOMOG. MAG. DISC'
+    mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
+    mag_data_disc.scale_down(2)
+    print '--CREATE MAGN. DISTR. OF VORTEX STATE DISC'
+    mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape, center))
+    mag_data_vort.scale_down(2)
+    # Mayavi-Plots:
+    mag_data_disc.quiver_plot3d()
+    mag_data_vort.quiver_plot3d()
+    print '--SHELVE MAGNETIC DISTRIBUTIONS'
+    data_shelve[key] = (mag_data_disc, mag_data_vort)
+
+print '--PLOT/SAVE MAGNETIC DISTRIBUTIONS'
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Magnetic Distributions', fontsize=20)
+# Plot MagData (Disc):
+mag_data_disc.quiver_plot('Homog. magn. disc', axis=axes[0])
+axes[0].set_aspect('equal')
+axes[0].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+axes[0].yaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+axes[0].xaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
+axes[0].yaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('x [nm]', fontsize=15)
+# Plot MagData (Disc):
+mag_data_vort.quiver_plot('Vortex state disc', axis=axes[1])
+axes[1].set_aspect('equal')
+axes[1].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+axes[1].yaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+axes[1].xaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
+axes[1].yaxis.set_major_formatter(FixedFormatter([16*i for i in range(10)]))
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('x [nm]', fontsize=15)
+# Save Plots:
+plt.figtext(0.15, 0.15, 'a)', fontsize=30)
+plt.figtext(0.57, 0.15, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-0-magnetic_distributions.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CLOSING SHELVE\n'
+# Close shelve:
+data_shelve.close()
diff --git a/scripts/paper 1/ch5-1-evaluation_real_space.py b/scripts/paper 1/ch5-1-evaluation_real_space.py
index babbdcb..d3a618a 100644
--- a/scripts/paper 1/ch5-1-evaluation_real_space.py	
+++ b/scripts/paper 1/ch5-1-evaluation_real_space.py	
@@ -6,9 +6,6 @@ Created on Fri Jul 26 14:37:30 2013
 """
 
 
-import pdb
-import traceback
-import sys
 import os
 
 import numpy as np
@@ -17,10 +14,9 @@ from numpy import pi
 import shelve
 
 import pyramid.magcreator as mc
-import pyramid.projector as pj
-import pyramid.phasemapper as pm
-import pyramid.holoimage as hi
 import pyramid.analytic as an
+from pyramid.projector import SimpleProjector
+from pyramid.phasemapper import PMConvolve
 from pyramid.magdata import MagData
 from pyramid.phasemap import PhaseMap
 
@@ -31,346 +27,332 @@ from matplotlib.cm import RdBu
 from matplotlib.patches import Rectangle
 
 
+force_calculation = False
 PHI_0 = -2067.83  # magnetic flux in T*nm²
 
 
-def run():
-
-    print '\nACCESS SHELVE'
-    # Create / Open databank:
-    directory = '../../output/paper 1'
-    if not os.path.exists(directory):
-        os.makedirs(directory)
-    data_shelve = shelve.open(directory + '/paper_1_shelve')
-
-    ###############################################################################################
-    print 'CH5-1 ANALYTIC SOLUTIONS'
-
-    # Input parameters:
-    a = 0.125  # in nm
-    phi = pi/2
-    dim = (128, 1024, 1024)  # in px (z, y, x)
-    density = 100
-    # Create magnetic shape:
-    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
-    radius = dim[1]/4  # in px
-    height = dim[0]/2  # in px
-    print '--CALCULATE ANALYTIC SOLUTIONS'
-    # Get analytic solution:
-    phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
-    phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
-    phase_map_ana_disc = PhaseMap(a, phase_ana_disc)
-    phase_map_ana_vort = PhaseMap(a, phase_ana_vort)
-    print '--PLOT/SAVE ANALYTIC SOLUTIONS'
-    hi.display_combined(phase_map_ana_disc, density,
-                        'Analytic solution: hom. magn. disc', 'bilinear')
-    axis = plt.gcf().add_subplot(1, 2, 2, aspect='equal')
-    axis.axhline(y=512, linewidth=3, linestyle='--', color='r')
-    plt.figtext(0.15, 0.2, 'a)', fontsize=30, color='w')
-    plt.figtext(0.52, 0.2, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-analytic_solution_disc.png', bbox_inches='tight')
-    hi.display_combined(phase_map_ana_vort, density,
-                        'Analytic solution: vortex state', 'bilinear')
-    axis = plt.gcf().add_subplot(1, 2, 2, aspect='equal')
-    axis.axhline(y=512, linewidth=3, linestyle='--', color='r')
-    plt.figtext(0.15, 0.2, 'c)', fontsize=30, color='w')
-    plt.figtext(0.52, 0.2, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-analytic_solution_vort.png', bbox_inches='tight')
-    # Get colorwheel:
-    hi.make_color_wheel()
-    plt.figtext(0.15, 0.14, 'e)', fontsize=30, color='w')
-    plt.savefig(directory + '/ch5-1-colorwheel.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CH5-1 PHASE SLICES REAL SPACE'
-
-    # Input parameters:
-    a = 0.25  # in nm
-    phi = pi/2
-    density = 100
-    dim = (64, 512, 512)  # in px (z, y, x)
-    # Create magnetic shape:
-    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
-    radius = dim[1]/4  # in px
-    height = dim[0]/2  # in px
-
-    key = 'ch5-1-phase_slices_real'
-    if key in data_shelve:
-        print '--LOAD MAGNETIC DISTRIBUTION'
-        (x_d, y_d, dy_d, x_v, y_v, dy_v) = data_shelve[key]
-    else:
-        print '--CREATE MAGNETIC DISTRIBUTION'
-        mag_shape = mc.Shapes.disc(dim, center, radius, height)
-
-        print '--CREATE PHASE SLICES HOMOG. MAGN. DISC'
-        # Arrays for plotting:
-        x_d = []
-        y_d = []
-        dy_d = []
-        # Analytic solution:
-        L = dim[1] * a  # in px/nm
-        Lz = 0.5 * dim[0] * a  # in px/nm
-        R = 0.25 * L  # in px/nm
-        x0 = L / 2  # in px/nm
-
-        def F_disc(x):
-            coeff = - pi * Lz / (2*PHI_0) * 1E3  # in mrad -> *1000
-            result = coeff * (- (x - x0) * np.sin(phi))
-            result *= np.where(np.abs(x - x0) <= R, 1, (R / (x - x0)) ** 2)
-            return result
-
-        x_d.append(np.linspace(0, L, 5000))
-        y_d.append(F_disc(x_d[0]))
-        dy_d.append(np.zeros_like(x_d[0]))
-        # Create MagData (Disc):
-        mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
-        for i in range(5):
-            mag_data_disc.scale_down()
-            print '----a =', mag_data_disc.a, 'nm', 'dim =', mag_data_disc.dim
-            projection = pj.simple_axis_projection(mag_data_disc)
-            phase_map = PhaseMap(mag_data_disc.a, pm.phase_mag(mag_data_disc.a, projection))
-            hi.display_combined(phase_map, density, 'Disc, a = {} nm'.format(mag_data_disc.a))
-            x_d.append(np.linspace(mag_data_disc.a * 0.5,
-                                   mag_data_disc.a * (mag_data_disc.dim[1]-0.5),
-                                   mag_data_disc.dim[1]))
-            slice_pos = int(mag_data_disc.dim[1]/2)
-            y_d.append(phase_map.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
-            dy_d.append(phase_map.phase[slice_pos, :]*1E3 - F_disc(x_d[-1]))  # *1E3: rad to mrad
-
-        print '--CREATE PHASE SLICES VORTEX STATE DISC'
-        x_v = []
-        y_v = []
-        dy_v = []
-        # Analytic solution:
-        L = dim[1] * a  # in px/nm
-        Lz = 0.5 * dim[0] * a  # in px/nm
-        R = 0.25 * L  # in px/nm
-        x0 = L / 2  # in px/nm
-
-        def F_vort(x):
-            coeff = pi*Lz/PHI_0 * 1E3  # in mrad -> *1000
-            result = coeff * np.where(np.abs(x - x0) <= R, (np.abs(x-x0)-R), 0)
-            return result
-
-        x_v.append(np.linspace(0, L, 5001))
-        y_v.append(F_vort(x_v[0]))
-        dy_v.append(np.zeros_like(x_v[0]))
-        # Create MagData (Vortex):
-        mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape))
-        for i in range(5):
-            mag_data_vort.scale_down()
-            print '----a =', mag_data_vort.a, 'nm', 'dim =', mag_data_vort.dim
-            projection = pj.simple_axis_projection(mag_data_vort)
-            phase_map = PhaseMap(mag_data_vort.a, pm.phase_mag(mag_data_vort.a, projection))
-            hi.display_combined(phase_map, density, 'Disc, a = {} nm'.format(mag_data_vort.a))
-            x_v.append(np.linspace(mag_data_vort.a * 0.5,
-                                   mag_data_vort.a * (mag_data_vort.dim[1]-0.5),
-                                   mag_data_vort.dim[1]))
-            slice_pos = int(mag_data_vort.dim[1]/2)
-            y_v.append(phase_map.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
-            dy_v.append(phase_map.phase[slice_pos, :]*1E3 - F_vort(x_v[-1]))  # *1E3: rad to mrad
-
-        # Shelve x, y and dy:
-        print '--SAVE PHASE SLICES'
-        data_shelve[key] = (x_d, y_d, dy_d, x_v, y_v, dy_v)
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Central phase slices', fontsize=20)
-
-    print '--PLOT/SAVE PHASE SLICES HOMOG. MAGN. DISC'
-    # Plot phase slices:
-    axes[0].plot(x_d[0], y_d[0], '-k', linewidth=1.5, label='analytic')
-    axes[0].plot(x_d[1], y_d[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[0].plot(x_d[2], y_d[2], '-m', linewidth=1.5, label='1 nm')
-    axes[0].plot(x_d[3], y_d[3], '-y', linewidth=1.5, label='2 nm')
-    axes[0].plot(x_d[4], y_d[4], '-g', linewidth=1.5, label='4 nm')
-    axes[0].plot(x_d[5], y_d[5], '-c', linewidth=1.5, label='8 nm')
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('phase [mrad]', fontsize=15)
-    axes[0].set_xlim(0, 128)
-    axes[0].set_ylim(-220, 220)
-    # Plot Zoombox and Arrow:
-    zoom = (23.5, 160, 15, 40)
-    rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
-    axes[0].add_patch(rect)
-    axes[0].arrow(zoom[0]+zoom[2], zoom[1]+zoom[3]/2, 36, 0, length_includes_head=True,
-              head_width=10, head_length=4, fc='k', ec='k')
-    # Plot zoom inset:
-    ins_axis_d = plt.axes([0.33, 0.57, 0.14, 0.3])
-    ins_axis_d.plot(x_d[0], y_d[0], '-k', linewidth=1.5, label='analytic')
-    ins_axis_d.plot(x_d[1], y_d[1], '-r', linewidth=1.5, label='0.5 nm')
-    ins_axis_d.plot(x_d[2], y_d[2], '-m', linewidth=1.5, label='1 nm')
-    ins_axis_d.plot(x_d[3], y_d[3], '-y', linewidth=1.5, label='2 nm')
-    ins_axis_d.plot(x_d[4], y_d[4], '-g', linewidth=1.5, label='4 nm')
-    ins_axis_d.plot(x_d[5], y_d[5], '-c', linewidth=1.5, label='8 nm')
-    ins_axis_d.tick_params(axis='both', which='major', labelsize=14)
-    ins_axis_d.set_xlim(zoom[0], zoom[0]+zoom[2])
-    ins_axis_d.set_ylim(zoom[1], zoom[1]+zoom[3])
-    ins_axis_d.xaxis.set_major_locator(MaxNLocator(nbins=4, integer=True))
-    ins_axis_d.yaxis.set_major_locator(MaxNLocator(nbins=3))
-
-    print '--PLOT/SAVE PHASE SLICES VORTEX STATE DISC'
-    # Plot phase slices:
-    axes[1].plot(x_v[0], y_v[0], '-k', linewidth=1.5, label='analytic')
-    axes[1].plot(x_v[1], y_v[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[1].plot(x_v[2], y_v[2], '-m', linewidth=1.5, label='1 nm')
-    axes[1].plot(x_v[3], y_v[3], '-y', linewidth=1.5, label='2 nm')
-    axes[1].plot(x_v[4], y_v[4], '-g', linewidth=1.5, label='4 nm')
-    axes[1].plot(x_v[5], y_v[5], '-c', linewidth=1.5, label='8 nm')
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1].set_title('Vortex state disc', fontsize=18)
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('phase [mrad]', fontsize=15)
-    axes[1].set_xlim(0, 128)
-    axes[1].yaxis.set_major_locator(MaxNLocator(nbins=6))
-    axes[1].legend()
-    # Plot Zoombox and Arrow:
-    zoom = (59, 340, 10, 55)
-    rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
-    axes[1].add_patch(rect)
-    axes[1].arrow(zoom[0]+zoom[2]/2, zoom[1], 0, -193, length_includes_head=True,
-              head_width=2, head_length=20, fc='k', ec='k')
-    # Plot zoom inset:
-    ins_axis_v = plt.axes([0.695, 0.15, 0.075, 0.3])
-    ins_axis_v.plot(x_v[0], y_v[0], '-k', linewidth=1.5, label='analytic')
-    ins_axis_v.plot(x_v[1], y_v[1], '-r', linewidth=1.5, label='0.5 nm')
-    ins_axis_v.plot(x_v[2], y_v[2], '-m', linewidth=1.5, label='1 nm')
-    ins_axis_v.plot(x_v[3], y_v[3], '-y', linewidth=1.5, label='2 nm')
-    ins_axis_v.plot(x_v[4], y_v[4], '-g', linewidth=1.5, label='4 nm')
-    ins_axis_v.plot(x_v[5], y_v[5], '-c', linewidth=1.5, label='8 nm')
-    ins_axis_v.tick_params(axis='both', which='major', labelsize=14)
-    ins_axis_v.set_xlim(zoom[0], zoom[0]+zoom[2])
-    ins_axis_v.set_ylim(zoom[1], zoom[1]+zoom[3])
-    ins_axis_v.xaxis.set_major_locator(MaxNLocator(nbins=4, integer=True))
-    ins_axis_v.yaxis.set_major_locator(MaxNLocator(nbins=4))
-
-    plt.show()
-    plt.figtext(0.15, 0.13, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.13, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_slice_comparison.png', bbox_inches='tight')
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Central phase slice errors', fontsize=20)
-
-    print '--PLOT/SAVE PHASE SLICE ERRORS HOMOG. MAGN. DISC'
-    # Plot phase slices:
-    axes[0].plot(x_d[0], dy_d[0], '-k', linewidth=1.5, label='analytic')
-    axes[0].plot(x_d[1], dy_d[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[0].plot(x_d[2], dy_d[2], '-m', linewidth=1.5, label='1 nm')
-    axes[0].plot(x_d[3], dy_d[3], '-y', linewidth=1.5, label='2 nm')
-    axes[0].plot(x_d[4], dy_d[4], '-g', linewidth=1.5, label='4 nm')
-    axes[0].plot(x_d[5], dy_d[5], '-c', linewidth=1.5, label='8 nm')
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('phase [mrad]', fontsize=15)
-    axes[0].set_xlim(0, 128)
-
-    print '--PLOT/SAVE PHASE SLICE ERRORS VORTEX STATE DISC'
-    # Plot phase slices:
-    axes[1].plot(x_v[0], dy_v[0], '-k', linewidth=1.5, label='analytic')
-    axes[1].plot(x_v[1], dy_v[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[1].plot(x_v[2], dy_v[2], '-m', linewidth=1.5, label='1 nm')
-    axes[1].plot(x_v[3], dy_v[3], '-y', linewidth=1.5, label='2 nm')
-    axes[1].plot(x_v[4], dy_v[4], '-g', linewidth=1.5, label='4 nm')
-    axes[1].plot(x_v[5], dy_v[5], '-c', linewidth=1.5, label='8 nm')
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1].set_title('Vortex state disc', fontsize=18)
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('phase [mrad]', fontsize=15)
-    axes[1].set_xlim(0, 128)
-    axes[1].legend(loc=4)
-
-    plt.show()
-    plt.figtext(0.15, 0.13, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.13, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_slice_errors.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CH5-1 PHASE DIFFERENCES REAL SPACE'
-
-    # Input parameters:
-    a = 1.0  # in nm
-    phi = pi/2
-    dim = (16, 128, 128)  # in px (z, y, x)
-    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
-    radius = dim[1]/4  # in px
-    height = dim[0]/2  # in px
-
-    key = 'ch5-1-phase_diff_mag_dist'
-    if key in data_shelve:
-        print '--LOAD MAGNETIC DISTRIBUTIONS'
-        (mag_data_disc, mag_data_vort) = data_shelve[key]
-    else:
-        print '--CREATE MAGNETIC DISTRIBUTIONS'
-        # Create magnetic shape (4 times the size):
-        a_big = a / 2
-        dim_big = (dim[0]*2, dim[1]*2, dim[2]*2)
-        center_big = (dim_big[0]/2-0.5, dim_big[1]/2.-0.5, dim_big[2]/2.-0.5)
-        radius_big = dim_big[1]/4  # in px
-        height_big = dim_big[0]/2  # in px
-        mag_shape = mc.Shapes.disc(dim_big, center_big, radius_big, height_big)
-        # Create MagData (4 times the size):
-        mag_data_disc = MagData(a_big, mc.create_mag_dist_homog(mag_shape, phi))
-        mag_data_vort = MagData(a_big, mc.create_mag_dist_vortex(mag_shape, center_big))
-        # Scale mag_data, grid spacing and dimensions:
-        mag_data_disc.scale_down()
-        mag_data_vort.scale_down()
-        print '--SAVE MAGNETIC DISTRIBUTIONS'
-        # Shelve magnetic distributions:
-        data_shelve[key] = (mag_data_disc, mag_data_vort)
-
-    print '--CALCULATE PHASE DIFFERENCES'
-    # Create projections along z-axis:
-    projection_disc = pj.simple_axis_projection(mag_data_disc)
-    projection_vort = pj.simple_axis_projection(mag_data_vort)
-    # Get analytic solutions:
-    phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
-    phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
-    # Create norm for the plots:
-    bounds = np.array([-3, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 3])
-    norm = BoundaryNorm(bounds, RdBu.N)
-    # Calculations (Disc):
-    phase_num_disc = pm.phase_mag(a, projection_disc)
-    phase_diff_disc = PhaseMap(a, (phase_num_disc-phase_ana_disc), 'mrad')
-    RMS_disc = np.sqrt(np.mean(phase_diff_disc.phase**2))
-    # Calculations (Vortex):
-    phase_num_vort = pm.phase_mag(a, projection_vort)
-    phase_diff_vort = PhaseMap(a, (phase_num_vort-phase_ana_vort), 'mrad')
-    RMS_vort = np.sqrt(np.mean(phase_diff_vort.phase**2))
-
-    print '--PLOT/SAVE PHASE DIFFERENCES'
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Difference of the real space approach from the analytical solution', fontsize=20)
-    # Plot MagData (Disc):
-    phase_diff_disc.display('Homog. magn. disc, RMS = {:3.2f} mrad'.format(RMS_disc),
-                            limit=np.max(bounds), norm=norm, axis=axes[0])
-    axes[0].set_aspect('equal')
-    # Plot MagData (Disc):
-    phase_diff_vort.display('Vortex state disc, RMS = {:3.2f} mrad'.format(RMS_vort),
-                            limit=np.max(bounds), norm=norm, axis=axes[1])
-    axes[1].set_aspect('equal')
-    # Save Plots:
-    plt.figtext(0.15, 0.2, 'a)', fontsize=30)
-    plt.figtext(0.52, 0.2, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_differences.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CLOSING SHELVE\n'
-    # Close shelve:
-    data_shelve.close()
-
-    ###############################################################################################
-
-
-if __name__ == "__main__":
-    try:
-        run()
-    except:
-        type, value, tb = sys.exc_info()
-        traceback.print_exc()
-        pdb.post_mortem(tb)
+print '\nACCESS SHELVE'
+# Create / Open databank:
+directory = '../../output/paper 1'
+if not os.path.exists(directory):
+    os.makedirs(directory)
+data_shelve = shelve.open(directory + '/paper_1_shelve')
+
+###############################################################################################
+print 'CH5-1 ANALYTIC SOLUTIONS'
+
+# Input parameters:
+a = 0.125  # in nm
+phi = pi/2
+dim = (128, 1024, 1024)  # in px (z, y, x)
+density = 100
+# Create magnetic shape:
+center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
+radius = dim[1]/4  # in px
+height = dim[0]/2  # in px
+print '--CALCULATE ANALYTIC SOLUTIONS'
+# Get analytic solution:
+phase_map_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
+phase_map_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
+print '--PLOT/SAVE ANALYTIC SOLUTIONS'
+phase_map_ana_disc.display_combined(density, 'Analytic solution: hom. magn. disc', 'bilinear')
+axis = plt.gcf().add_subplot(1, 2, 2, aspect='equal')
+axis.axhline(y=512, linewidth=3, linestyle='--', color='r')
+plt.figtext(0.15, 0.2, 'a)', fontsize=30, color='w')
+#plt.figtext(0.52, 0.2, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-1-analytic_solution_disc.png', bbox_inches='tight')
+phase_map_ana_vort.display_combined(density, 'Analytic solution: vortex state', 'bilinear')
+axis = plt.gcf().add_subplot(1, 2, 2, aspect='equal')
+axis.axhline(y=512, linewidth=3, linestyle='--', color='r')
+plt.figtext(0.15, 0.2, 'c)', fontsize=30, color='w')
+plt.figtext(0.52, 0.2, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-1-analytic_solution_vort.png', bbox_inches='tight')
+# Get colorwheel:
+PhaseMap.make_color_wheel()
+plt.figtext(0.15, 0.14, 'e)', fontsize=30, color='w')
+plt.savefig(directory + '/ch5-1-colorwheel.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CH5-1 PHASE SLICES REAL SPACE'
+
+# Input parameters:
+a = 0.5  # in nm
+phi = pi/2
+density = 100
+dim = (32, 256, 256)  # in px (z, y, x)
+# Create magnetic shape:
+center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
+radius = dim[1]/4  # in px
+height = dim[0]/2  # in px
+
+key = 'ch5-1-phase_slices_real'
+if key in data_shelve and not force_calculation:
+    print '--LOAD MAGNETIC DISTRIBUTION'
+    (x_d, y_d, dy_d, x_v, y_v, dy_v) = data_shelve[key]
+else:
+    print '--CREATE MAGNETIC DISTRIBUTION'
+    mag_shape = mc.Shapes.disc(dim, center, radius, height)
+
+    print '--CREATE PHASE SLICES HOMOG. MAGN. DISC'
+    # Arrays for plotting:
+    x_d = []
+    y_d = []
+    dy_d = []
+    # Analytic solution:
+    L = dim[1] * a  # in px/nm
+    Lz = 0.5 * dim[0] * a  # in px/nm
+    R = 0.25 * L  # in px/nm
+    x0 = L / 2  # in px/nm
+
+    def F_disc(x):
+        coeff = - pi * Lz / (2*PHI_0) * 1E3  # in mrad -> *1000
+        result = coeff * (- (x - x0) * np.sin(phi))
+        result *= np.where(np.abs(x - x0) <= R, 1, (R / (x - x0)) ** 2)
+        return result
+
+    x_d.append(np.linspace(0, L, 5000))
+    y_d.append(F_disc(x_d[0]))
+    dy_d.append(np.zeros_like(x_d[0]))
+    # Create MagData (Disc):
+    mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
+    for i in range(5):
+        print '----a =', mag_data_disc.a, 'nm', 'dim =', mag_data_disc.dim
+        projector = SimpleProjector(mag_data_disc.dim)
+        phase_map = PMConvolve(mag_data_disc.a, projector)(mag_data_disc)
+        phase_map.display_combined(density, 'Disc, a = {} nm'.format(mag_data_disc.a))
+        x_d.append(np.linspace(mag_data_disc.a * 0.5,
+                               mag_data_disc.a * (mag_data_disc.dim[1]-0.5),
+                               mag_data_disc.dim[1]))
+        slice_pos = int(mag_data_disc.dim[1]/2)
+        y_d.append(phase_map.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
+        dy_d.append(phase_map.phase[slice_pos, :]*1E3 - F_disc(x_d[-1]))  # *1E3: rad to mrad
+        if i < 4: mag_data_disc.scale_down()
+
+    print '--CREATE PHASE SLICES VORTEX STATE DISC'
+    x_v = []
+    y_v = []
+    dy_v = []
+    # Analytic solution:
+    L = dim[1] * a  # in px/nm
+    Lz = 0.5 * dim[0] * a  # in px/nm
+    R = 0.25 * L  # in px/nm
+    x0 = L / 2  # in px/nm
+
+    def F_vort(x):
+        coeff = pi*Lz/PHI_0 * 1E3  # in mrad -> *1000
+        result = coeff * np.where(np.abs(x - x0) <= R, (np.abs(x-x0)-R), 0)
+        return result
+
+    x_v.append(np.linspace(0, L, 5001))
+    y_v.append(F_vort(x_v[0]))
+    dy_v.append(np.zeros_like(x_v[0]))
+    # Create MagData (Vortex):
+    mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape))
+    for i in range(5):
+        print '----a =', mag_data_vort.a, 'nm', 'dim =', mag_data_vort.dim
+        projector = SimpleProjector(mag_data_vort.dim) 
+        phase_map = PMConvolve(mag_data_vort.a, projector)(mag_data_vort)
+        phase_map.display_combined(density, 'Disc, a = {} nm'.format(mag_data_vort.a))
+        x_v.append(np.linspace(mag_data_vort.a * 0.5,
+                               mag_data_vort.a * (mag_data_vort.dim[1]-0.5),
+                               mag_data_vort.dim[1]))
+        slice_pos = int(mag_data_vort.dim[1]/2)
+        y_v.append(phase_map.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
+        dy_v.append(phase_map.phase[slice_pos, :]*1E3 - F_vort(x_v[-1]))  # *1E3: rad to mrad
+        if i < 4: mag_data_vort.scale_down()
+
+    # Shelve x, y and dy:
+    print '--SAVE PHASE SLICES'
+    data_shelve[key] = (x_d, y_d, dy_d, x_v, y_v, dy_v)
+
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Central phase slices', fontsize=20)
+
+print '--PLOT/SAVE PHASE SLICES HOMOG. MAGN. DISC'
+# Plot phase slices:
+axes[0].plot(x_d[0], y_d[0], '-k', linewidth=1.5, label='analytic')
+axes[0].plot(x_d[1], y_d[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[0].plot(x_d[2], y_d[2], '-m', linewidth=1.5, label='1 nm')
+axes[0].plot(x_d[3], y_d[3], '-y', linewidth=1.5, label='2 nm')
+axes[0].plot(x_d[4], y_d[4], '-g', linewidth=1.5, label='4 nm')
+axes[0].plot(x_d[5], y_d[5], '-c', linewidth=1.5, label='8 nm')
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].set_title('Homog. magn. disc', fontsize=18)
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('phase [mrad]', fontsize=15)
+axes[0].set_xlim(0, 128)
+axes[0].set_ylim(-220, 220)
+# Plot Zoombox and Arrow:
+zoom = (23.5, 160, 15, 40)
+rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
+axes[0].add_patch(rect)
+axes[0].arrow(zoom[0]+zoom[2], zoom[1]+zoom[3]/2, 36, 0, length_includes_head=True,
+          head_width=10, head_length=4, fc='k', ec='k')
+# Plot zoom inset:
+ins_axis_d = plt.axes([0.33, 0.57, 0.14, 0.3])
+ins_axis_d.plot(x_d[0], y_d[0], '-k', linewidth=1.5, label='analytic')
+ins_axis_d.plot(x_d[1], y_d[1], '-r', linewidth=1.5, label='0.5 nm')
+ins_axis_d.plot(x_d[2], y_d[2], '-m', linewidth=1.5, label='1 nm')
+ins_axis_d.plot(x_d[3], y_d[3], '-y', linewidth=1.5, label='2 nm')
+ins_axis_d.plot(x_d[4], y_d[4], '-g', linewidth=1.5, label='4 nm')
+ins_axis_d.plot(x_d[5], y_d[5], '-c', linewidth=1.5, label='8 nm')
+ins_axis_d.tick_params(axis='both', which='major', labelsize=14)
+ins_axis_d.set_xlim(zoom[0], zoom[0]+zoom[2])
+ins_axis_d.set_ylim(zoom[1], zoom[1]+zoom[3])
+ins_axis_d.xaxis.set_major_locator(MaxNLocator(nbins=4, integer=True))
+ins_axis_d.yaxis.set_major_locator(MaxNLocator(nbins=3))
+
+print '--PLOT/SAVE PHASE SLICES VORTEX STATE DISC'
+# Plot phase slices:
+axes[1].plot(x_v[0], y_v[0], '-k', linewidth=1.5, label='analytic')
+axes[1].plot(x_v[1], y_v[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[1].plot(x_v[2], y_v[2], '-m', linewidth=1.5, label='1 nm')
+axes[1].plot(x_v[3], y_v[3], '-y', linewidth=1.5, label='2 nm')
+axes[1].plot(x_v[4], y_v[4], '-g', linewidth=1.5, label='4 nm')
+axes[1].plot(x_v[5], y_v[5], '-c', linewidth=1.5, label='8 nm')
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+axes[1].set_title('Vortex state disc', fontsize=18)
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('phase [mrad]', fontsize=15)
+axes[1].set_xlim(0, 128)
+axes[1].yaxis.set_major_locator(MaxNLocator(nbins=6))
+axes[1].legend()
+# Plot Zoombox and Arrow:
+zoom = (59, 340, 10, 55)
+rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
+axes[1].add_patch(rect)
+axes[1].arrow(zoom[0]+zoom[2]/2, zoom[1], 0, -193, length_includes_head=True,
+          head_width=2, head_length=20, fc='k', ec='k')
+# Plot zoom inset:
+ins_axis_v = plt.axes([0.695, 0.15, 0.075, 0.3])
+ins_axis_v.plot(x_v[0], y_v[0], '-k', linewidth=1.5, label='analytic')
+ins_axis_v.plot(x_v[1], y_v[1], '-r', linewidth=1.5, label='0.5 nm')
+ins_axis_v.plot(x_v[2], y_v[2], '-m', linewidth=1.5, label='1 nm')
+ins_axis_v.plot(x_v[3], y_v[3], '-y', linewidth=1.5, label='2 nm')
+ins_axis_v.plot(x_v[4], y_v[4], '-g', linewidth=1.5, label='4 nm')
+ins_axis_v.plot(x_v[5], y_v[5], '-c', linewidth=1.5, label='8 nm')
+ins_axis_v.tick_params(axis='both', which='major', labelsize=14)
+ins_axis_v.set_xlim(zoom[0], zoom[0]+zoom[2])
+ins_axis_v.set_ylim(zoom[1], zoom[1]+zoom[3])
+ins_axis_v.xaxis.set_major_locator(MaxNLocator(nbins=4, integer=True))
+ins_axis_v.yaxis.set_major_locator(MaxNLocator(nbins=4))
+
+plt.show()
+#plt.figtext(0.15, 0.13, 'a)', fontsize=30)
+#plt.figtext(0.57, 0.13, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_slice_comparison.png', bbox_inches='tight')
+
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Central phase slice errors', fontsize=20)
+
+print '--PLOT/SAVE PHASE SLICE ERRORS HOMOG. MAGN. DISC'
+# Plot phase slices:
+axes[0].plot(x_d[0], dy_d[0], '-k', linewidth=1.5, label='analytic')
+axes[0].plot(x_d[1], dy_d[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[0].plot(x_d[2], dy_d[2], '-m', linewidth=1.5, label='1 nm')
+axes[0].plot(x_d[3], dy_d[3], '-y', linewidth=1.5, label='2 nm')
+axes[0].plot(x_d[4], dy_d[4], '-g', linewidth=1.5, label='4 nm')
+axes[0].plot(x_d[5], dy_d[5], '-c', linewidth=1.5, label='8 nm')
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].set_title('Homog. magn. disc', fontsize=18)
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('phase [mrad]', fontsize=15)
+axes[0].set_xlim(0, 128)
+
+print '--PLOT/SAVE PHASE SLICE ERRORS VORTEX STATE DISC'
+# Plot phase slices:
+axes[1].plot(x_v[0], dy_v[0], '-k', linewidth=1.5, label='analytic')
+axes[1].plot(x_v[1], dy_v[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[1].plot(x_v[2], dy_v[2], '-m', linewidth=1.5, label='1 nm')
+axes[1].plot(x_v[3], dy_v[3], '-y', linewidth=1.5, label='2 nm')
+axes[1].plot(x_v[4], dy_v[4], '-g', linewidth=1.5, label='4 nm')
+axes[1].plot(x_v[5], dy_v[5], '-c', linewidth=1.5, label='8 nm')
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+axes[1].set_title('Vortex state disc', fontsize=18)
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('phase [mrad]', fontsize=15)
+axes[1].set_xlim(0, 128)
+axes[1].legend(loc=4)
+
+plt.show()
+#plt.figtext(0.15, 0.13, 'a)', fontsize=30)
+#plt.figtext(0.57, 0.13, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_slice_errors.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CH5-1 PHASE DIFFERENCES REAL SPACE'
+
+# Input parameters:
+a = 1.0  # in nm
+phi = pi/2
+dim = (16, 128, 128)  # in px (z, y, x)
+center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
+radius = dim[1]/4  # in px
+height = dim[0]/2  # in px
+
+key = 'ch5-1-phase_diff_mag_dist'
+if key in data_shelve and not force_calculation:
+    print '--LOAD MAGNETIC DISTRIBUTIONS'
+    (mag_data_disc, mag_data_vort) = data_shelve[key]
+else:
+    print '--CREATE MAGNETIC DISTRIBUTIONS'
+    # Create magnetic shape (4 times the size):
+    a_big = a / 2
+    dim_big = (dim[0]*2, dim[1]*2, dim[2]*2)
+    center_big = (dim_big[0]/2-0.5, dim_big[1]/2.-0.5, dim_big[2]/2.-0.5)
+    radius_big = dim_big[1]/4  # in px
+    height_big = dim_big[0]/2  # in px
+    mag_shape = mc.Shapes.disc(dim_big, center_big, radius_big, height_big)
+    # Create MagData (4 times the size):
+    mag_data_disc = MagData(a_big, mc.create_mag_dist_homog(mag_shape, phi))
+    mag_data_vort = MagData(a_big, mc.create_mag_dist_vortex(mag_shape, center_big))
+    # Scale mag_data, grid spacing and dimensions:
+    mag_data_disc.scale_down()
+    mag_data_vort.scale_down()
+    print '--SAVE MAGNETIC DISTRIBUTIONS'
+    # Shelve magnetic distributions:
+    data_shelve[key] = (mag_data_disc, mag_data_vort)
+
+print '--CALCULATE PHASE DIFFERENCES'
+# Create projector along z-axis and phasemapper:
+projector = SimpleProjector(dim)
+phasemapper = PMConvolve(a, projector)
+# Get analytic solutions:
+phase_map_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
+phase_map_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
+# Create norm for the plots:
+bounds = np.array([-3, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 3])
+norm = BoundaryNorm(bounds, RdBu.N)
+# Calculations (Disc):
+phase_map_num_disc = phasemapper(mag_data_disc)
+phase_map_num_disc.unit = 'mrad'
+phase_diff_disc = phase_map_num_disc - phase_map_ana_disc
+RMS_disc = np.sqrt(np.mean(phase_diff_disc.phase**2))
+# Calculations (Vortex):
+phase_map_num_vort = phasemapper(mag_data_vort)
+phase_map_num_vort.unit = 'mrad'
+phase_diff_vort = phase_map_num_vort - phase_map_ana_vort
+RMS_vort = np.sqrt(np.mean(phase_diff_vort.phase**2))
+
+print '--PLOT/SAVE PHASE DIFFERENCES'
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Difference of the real space approach from the analytical solution', fontsize=20)
+# Plot MagData (Disc):
+phase_diff_disc.display_phase(u'Homog. magn. disc, RMS = {:3.2f} µrad'.format(RMS_disc*1000),
+                              limit=np.max(bounds), norm=norm, axis=axes[0])
+axes[0].set_aspect('equal')
+# Plot MagData (Disc):
+phase_diff_vort.display_phase(u'Vortex state disc, RMS = {:3.2f} µrad'.format(RMS_vort*1000),
+                              limit=np.max(bounds), norm=norm, axis=axes[1])
+axes[1].set_aspect('equal')
+# Save Plots:
+plt.figtext(0.15, 0.2, 'a)', fontsize=30)
+plt.figtext(0.52, 0.2, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_differences.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CLOSING SHELVE\n'
+# Close shelve:
+data_shelve.close()
diff --git a/scripts/paper 1/ch5-2-evaluation_fourier_space.py b/scripts/paper 1/ch5-2-evaluation_fourier_space.py
index 4a1ef45..53838f2 100644
--- a/scripts/paper 1/ch5-2-evaluation_fourier_space.py	
+++ b/scripts/paper 1/ch5-2-evaluation_fourier_space.py	
@@ -7,9 +7,6 @@ Created on Fri Jul 26 14:37:30 2013
 
 
 import time
-import pdb
-import traceback
-import sys
 import os
 
 import numpy as np
@@ -18,12 +15,10 @@ from numpy import pi
 import shelve
 
 import pyramid.magcreator as mc
-import pyramid.projector as pj
-import pyramid.phasemapper as pm
 import pyramid.analytic as an
-import pyramid.holoimage as hi
 from pyramid.magdata import MagData
-from pyramid.phasemap import PhaseMap
+from pyramid.projector import SimpleProjector
+from pyramid.phasemapper import PMFourier
 
 import matplotlib.pyplot as plt
 from matplotlib.colors import BoundaryNorm
@@ -31,157 +26,151 @@ from matplotlib.ticker import MaxNLocator
 from matplotlib.cm import RdBu
 
 
+force_calculation = False
 PHI_0 = -2067.83  # magnetic flux in T*nm²
 
 
-def run():
-
-    print '\nACCESS SHELVE'
-    # Create / Open databank:
-    directory = '../../output/paper 1'
-    if not os.path.exists(directory):
-        os.makedirs(directory)
-    data_shelve = shelve.open(directory + '/paper_1_shelve')
-
-    ###############################################################################################
-    print 'CH5-1 PHASE SLICES FOURIER SPACE'
-
-    # Input parameters:
-    a = 0.25  # in nm
-    phi = pi/2
-    density = 100
-    dim = (64, 512, 512)  # in px (z, y, x)
-    # Create magnetic shape:
-    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
-    radius = dim[1]/4  # in px
-    height = dim[0]/2  # in px
-
-    key = 'ch5-2-phase_slices_fourier'
-    if key in data_shelve:
-        print '--LOAD MAGNETIC DISTRIBUTION'
-        (x_d, y_d0, y_d10, dy_d0, dy_d10, x_v, y_v0, y_v10, dy_v0, dy_v10) = data_shelve[key]
-    else:
-        print '--CREATE MAGNETIC DISTRIBUTION'
-        mag_shape = mc.Shapes.disc(dim, center, radius, height)
-
-        print '--CREATE PHASE SLICES HOMOG. MAGN. DISC'
-        # Arrays for plotting:
-        x_d = []
-        y_d0 = []
-        y_d10 = []
-        dy_d0 = []
-        dy_d10 = []
-        # Analytic solution:
-        L = dim[1] * a  # in px/nm
-        Lz = 0.5 * dim[0] * a  # in px/nm
-        R = 0.25 * L  # in px/nm
-        x0 = L / 2  # in px/nm
-
-        def F_disc(x):
-            coeff = - pi * Lz / (2*PHI_0) * 1E3  # in mrad -> *1000
-            result = coeff * (- (x - x0) * np.sin(phi))
-            result *= np.where(np.abs(x - x0) <= R, 1, (R / (x - x0)) ** 2)
-            return result
-
-        x_d.append(np.linspace(0, L, 5000))
-        y_d0.append(F_disc(x_d[0]))
-        y_d10.append(F_disc(x_d[0]))
-        dy_d0.append(np.zeros_like(x_d[0]))
-        dy_d10.append(np.zeros_like(x_d[0]))
-        # Create MagData (Disc):
-        mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
-        for i in range(5):
-            mag_data_disc.scale_down()
-            print '----a =', mag_data_disc.a, 'nm', 'dim =', mag_data_disc.dim
-            projection = pj.simple_axis_projection(mag_data_disc)
-            phase_map0 = PhaseMap(mag_data_disc.a,
-                                  pm.phase_mag_fourier(mag_data_disc.a, projection,
-                                                       padding=0), 'mrad')
-            phase_map10 = PhaseMap(mag_data_disc.a,
-                                   pm.phase_mag_fourier(mag_data_disc.a, projection,
-                                                        padding=10), 'mrad')
-            hi.display_combined(phase_map0, density,
-                                'Disc, a = {} nm'.format(mag_data_disc.a))
-            hi.display_combined(phase_map10, density,
-                                'Disc, a = {} nm'.format(mag_data_disc.a))
-            x_d.append(np.linspace(mag_data_disc.a * 0.5,
-                                   mag_data_disc.a * (mag_data_disc.dim[1]-0.5),
-                                   mag_data_disc.dim[1]))
-            slice_pos = int(mag_data_disc.dim[1]/2)
-            y_d0.append(phase_map0.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
-            y_d10.append(phase_map10.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
-            dy_d0.append(phase_map0.phase[slice_pos, :]*1E3 - F_disc(x_d[-1]))  # *1E3: in mrad
-            dy_d10.append(phase_map10.phase[slice_pos, :]*1E3 - F_disc(x_d[-1]))  # *1E3: in mrad
-
-        print '--CREATE PHASE SLICES VORTEX STATE DISC'
-        x_v = []
-        y_v0 = []
-        y_v10 = []
-        dy_v0 = []
-        dy_v10 = []
-        # Analytic solution:
-        L = dim[1] * a  # in px/nm
-        Lz = 0.5 * dim[0] * a  # in px/nm
-        R = 0.25 * L  # in px/nm
-        x0 = L / 2  # in px/nm
-
-        def F_vort(x):
-            coeff = pi*Lz/PHI_0 * 1E3  # in mrad -> *1000
-            result = coeff * np.where(np.abs(x - x0) <= R, (np.abs(x-x0)-R), 0)
-            return result
-
-        x_v.append(np.linspace(0, L, 5000))
-        y_v0.append(F_vort(x_v[0]))
-        y_v10.append(F_vort(x_v[0]))
-        dy_v0.append(np.zeros_like(x_v[0]))
-        dy_v10.append(np.zeros_like(x_v[0]))
-        # Create MagData (Vortex):
-        mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape))
-        for i in range(5):
-            mag_data_vort.scale_down()
-            print '----a =', mag_data_vort.a, 'nm', 'dim =', mag_data_vort.dim
-            projection = pj.simple_axis_projection(mag_data_vort)
-            phase_map0 = PhaseMap(mag_data_vort.a,
-                                  pm.phase_mag_fourier(mag_data_vort.a, projection,
-                                                       padding=0), 'mrad')
-            phase_map10 = PhaseMap(mag_data_vort.a,
-                                   pm.phase_mag_fourier(mag_data_vort.a, projection,
-                                                        padding=10), 'mrad')
-            hi.display_combined(phase_map0, density,
-                                'Disc, a = {} nm'.format(mag_data_vort.a))
-            hi.display_combined(phase_map10, density,
-                                'Disc, a = {} nm'.format(mag_data_vort.a))
-            x_v.append(np.linspace(mag_data_vort.a * 0.5,
-                                   mag_data_vort.a * (mag_data_vort.dim[1]-0.5),
-                                   mag_data_vort.dim[1]))
-            slice_pos = int(mag_data_vort.dim[1]/2)
-            y_v0.append(phase_map0.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
-            y_v10.append(phase_map10.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
-            dy_v0.append(phase_map0.phase[slice_pos, :]*1E3 - F_vort(x_v[-1]))  # *1E3: in mrad
-            dy_v10.append(phase_map10.phase[slice_pos, :]*1E3 - F_vort(x_v[-1]))  # *1E3: in mrad
-
-        # Shelve x, y and dy:
-        print '--SAVE PHASE SLICES'
-        data_shelve[key] = (x_d, y_d0, y_d10, dy_d0, dy_d10, x_v, y_v0, y_v10, dy_v0, dy_v10)
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Central phase slices (padding = 0)', fontsize=20)
-
-    print '--PLOT/SAVE PHASE SLICES HOMOG. MAGN. DISC PADDING = 0'
-    # Plot phase slices:
-    axes[0].plot(x_d[0], y_d0[0], '-k', linewidth=1.5, label='analytic')
-    axes[0].plot(x_d[1], y_d0[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[0].plot(x_d[2], y_d0[2], '-m', linewidth=1.5, label='1 nm')
-    axes[0].plot(x_d[3], y_d0[3], '-y', linewidth=1.5, label='2 nm')
-    axes[0].plot(x_d[4], y_d0[4], '-g', linewidth=1.5, label='4 nm')
-    axes[0].plot(x_d[5], y_d0[5], '-c', linewidth=1.5, label='8 nm')
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('phase [mrad]', fontsize=15)
-    axes[0].set_xlim(0, 128)
-    axes[0].set_ylim(-220, 220)
+print '\nACCESS SHELVE'
+# Create / Open databank:
+directory = '../../output/paper 1'
+if not os.path.exists(directory):
+    os.makedirs(directory)
+data_shelve = shelve.open(directory + '/paper_1_shelve')
+
+###############################################################################################
+print 'CH5-1 PHASE SLICES FOURIER SPACE'
+
+# Input parameters:
+a = 0.5  # in nm
+phi = pi/2
+density = 100
+dim = (32, 256, 256)  # in px (z, y, x)
+# Create magnetic shape:
+center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
+radius = dim[1]/4  # in px
+height = dim[0]/2  # in px
+
+key = 'ch5-2-phase_slices_fourier'
+if key in data_shelve and not force_calculation:
+    print '--LOAD MAGNETIC DISTRIBUTION'
+    (x_d, y_d0, y_d10, dy_d0, dy_d10, x_v, y_v0, y_v10, dy_v0, dy_v10) = data_shelve[key]
+else:
+    print '--CREATE MAGNETIC DISTRIBUTION'
+    mag_shape = mc.Shapes.disc(dim, center, radius, height)
+
+    print '--CREATE PHASE SLICES HOMOG. MAGN. DISC'
+    # Arrays for plotting:
+    x_d = []
+    y_d0 = []
+    y_d10 = []
+    dy_d0 = []
+    dy_d10 = []
+    # Analytic solution:
+    L = dim[1] * a  # in px/nm
+    Lz = 0.5 * dim[0] * a  # in px/nm
+    R = 0.25 * L  # in px/nm
+    x0 = L / 2  # in px/nm
+
+    def F_disc(x):
+        coeff = - pi * Lz / (2*PHI_0) * 1E3  # in mrad -> *1000
+        result = coeff * (- (x - x0) * np.sin(phi))
+        result *= np.where(np.abs(x - x0) <= R, 1, (R / (x - x0)) ** 2)
+        return result
+
+    x_d.append(np.linspace(0, L, 5000))
+    y_d0.append(F_disc(x_d[0]))
+    y_d10.append(F_disc(x_d[0]))
+    dy_d0.append(np.zeros_like(x_d[0]))
+    dy_d10.append(np.zeros_like(x_d[0]))
+    # Create MagData (Disc):
+    mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
+    for i in range(5):
+        print '----a =', mag_data_disc.a, 'nm', 'dim =', mag_data_disc.dim
+        projector = SimpleProjector(mag_data_disc.dim)
+        phase_map0 = PMFourier(mag_data_disc.a, projector, padding=0)(mag_data_disc)
+        phase_map10 = PMFourier(mag_data_disc.a, projector, padding=10)(mag_data_disc)
+        phase_map0.unit = 'mrad'
+        phase_map10.unit = 'mrad'
+        phase_map0.display_combined(density, 'Disc, a = {} nm'.format(mag_data_disc.a))
+        phase_map10.display_combined(density, 'Disc, a = {} nm'.format(mag_data_disc.a))
+        x_d.append(np.linspace(mag_data_disc.a * 0.5,
+                               mag_data_disc.a * (mag_data_disc.dim[1]-0.5),
+                               mag_data_disc.dim[1]))
+        slice_pos = int(mag_data_disc.dim[1]/2)
+        y_d0.append(phase_map0.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
+        y_d10.append(phase_map10.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
+        dy_d0.append(phase_map0.phase[slice_pos, :]*1E3 - F_disc(x_d[-1]))  # *1E3: in mrad
+        dy_d10.append(phase_map10.phase[slice_pos, :]*1E3 - F_disc(x_d[-1]))  # *1E3: in mrad
+        if i < 4: mag_data_disc.scale_down()
+
+    print '--CREATE PHASE SLICES VORTEX STATE DISC'
+    x_v = []
+    y_v0 = []
+    y_v10 = []
+    dy_v0 = []
+    dy_v10 = []
+    # Analytic solution:
+    L = dim[1] * a  # in px/nm
+    Lz = 0.5 * dim[0] * a  # in px/nm
+    R = 0.25 * L  # in px/nm
+    x0 = L / 2  # in px/nm
+
+    def F_vort(x):
+        coeff = pi*Lz/PHI_0 * 1E3  # in mrad -> *1000
+        result = coeff * np.where(np.abs(x - x0) <= R, (np.abs(x-x0)-R), 0)
+        return result
+
+    x_v.append(np.linspace(0, L, 5000))
+    y_v0.append(F_vort(x_v[0]))
+    y_v10.append(F_vort(x_v[0]))
+    dy_v0.append(np.zeros_like(x_v[0]))
+    dy_v10.append(np.zeros_like(x_v[0]))
+    # Create MagData (Vortex):
+    mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape))
+    for i in range(5):
+        print '----a =', mag_data_vort.a, 'nm', 'dim =', mag_data_vort.dim
+        projector = SimpleProjector(mag_data_vort.dim)
+        phase_map0 = PMFourier(mag_data_vort.a, projector, padding=0)(mag_data_vort)
+        phase_map10 = PMFourier(mag_data_vort.a, projector, padding=10)(mag_data_vort)
+        phase_map0.unit = 'mrad'
+        phase_map10.unit = 'mrad'
+        print np.mean(phase_map0.phase)
+        phase_map0 -= phase_map0.phase[0, 0]
+        phase_map10 -= phase_map10.phase[0, 0]
+        phase_map0.display_combined(density, 'Vortex, a = {} nm'.format(mag_data_vort.a))
+        phase_map10.display_combined(density, 'Vortex, a = {} nm'.format(mag_data_vort.a))
+        x_v.append(np.linspace(mag_data_vort.a * 0.5,
+                               mag_data_vort.a * (mag_data_vort.dim[1]-0.5),
+                               mag_data_vort.dim[1]))
+        slice_pos = int(mag_data_vort.dim[1]/2)
+        y_v0.append(phase_map0.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
+        y_v10.append(phase_map10.phase[slice_pos, :]*1E3)  # *1E3: rad to mrad
+        dy_v0.append(phase_map0.phase[slice_pos, :]*1E3 - F_vort(x_v[-1]))  # *1E3: in mrad
+        dy_v10.append(phase_map10.phase[slice_pos, :]*1E3 - F_vort(x_v[-1]))  # *1E3: in mrad
+        if i < 4: mag_data_vort.scale_down()
+
+    # Shelve x, y and dy:
+    print '--SAVE PHASE SLICES'
+    data_shelve[key] = (x_d, y_d0, y_d10, dy_d0, dy_d10, x_v, y_v0, y_v10, dy_v0, dy_v10)
+
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Central phase slices (padding = 0)', fontsize=20)
+
+print '--PLOT/SAVE PHASE SLICES HOMOG. MAGN. DISC PADDING = 0'
+# Plot phase slices:
+axes[0].plot(x_d[0], y_d0[0], '-k', linewidth=1.5, label='analytic')
+axes[0].plot(x_d[1], y_d0[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[0].plot(x_d[2], y_d0[2], '-m', linewidth=1.5, label='1 nm')
+axes[0].plot(x_d[3], y_d0[3], '-y', linewidth=1.5, label='2 nm')
+axes[0].plot(x_d[4], y_d0[4], '-g', linewidth=1.5, label='4 nm')
+axes[0].plot(x_d[5], y_d0[5], '-c', linewidth=1.5, label='8 nm')
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].set_title('Homog. magn. disc', fontsize=18)
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('phase [mrad]', fontsize=15)
+axes[0].set_xlim(0, 128)
+axes[0].set_ylim(-220, 220)
 #    # Plot Zoombox and Arrow:
 #    zoom = (23.5, 160, 15, 40)
 #    rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
@@ -202,21 +191,21 @@ def run():
 #    ins_axis_d.xaxis.set_major_locator(MaxNLocator(nbins=4, integer= True))
 #    ins_axis_d.yaxis.set_major_locator(MaxNLocator(nbins=3))
 
-    print '--PLOT/SAVE PHASE SLICES VORTEX STATE DISC PADDING = 0'
-    # Plot phase slices:
-    axes[1].plot(x_v[0], y_v0[0], '-k', linewidth=1.5, label='analytic')
-    axes[1].plot(x_v[1], y_v0[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[1].plot(x_v[2], y_v0[2], '-m', linewidth=1.5, label='1 nm')
-    axes[1].plot(x_v[3], y_v0[3], '-y', linewidth=1.5, label='2 nm')
-    axes[1].plot(x_v[4], y_v0[4], '-g', linewidth=1.5, label='4 nm')
-    axes[1].plot(x_v[5], y_v0[5], '-c', linewidth=1.5, label='8 nm')
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1].set_title('Vortex state disc', fontsize=18)
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('phase [mrad]', fontsize=15)
-    axes[1].set_xlim(0, 128)
-    axes[1].yaxis.set_major_locator(MaxNLocator(nbins=6))
-    axes[1].legend()
+print '--PLOT/SAVE PHASE SLICES VORTEX STATE DISC PADDING = 0'
+# Plot phase slices:
+axes[1].plot(x_v[0], y_v0[0], '-k', linewidth=1.5, label='analytic')
+axes[1].plot(x_v[1], y_v0[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[1].plot(x_v[2], y_v0[2], '-m', linewidth=1.5, label='1 nm')
+axes[1].plot(x_v[3], y_v0[3], '-y', linewidth=1.5, label='2 nm')
+axes[1].plot(x_v[4], y_v0[4], '-g', linewidth=1.5, label='4 nm')
+axes[1].plot(x_v[5], y_v0[5], '-c', linewidth=1.5, label='8 nm')
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+axes[1].set_title('Vortex state disc', fontsize=18)
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('phase [mrad]', fontsize=15)
+axes[1].set_xlim(0, 128)
+axes[1].yaxis.set_major_locator(MaxNLocator(nbins=6))
+axes[1].legend()
 #    # Plot Zoombox and Arrow:
 #    zoom = (59, 340, 10, 55)
 #    rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
@@ -237,29 +226,29 @@ def run():
 #    ins_axis_v.xaxis.set_major_locator(MaxNLocator(nbins=4, integer= True))
 #    ins_axis_v.yaxis.set_major_locator(MaxNLocator(nbins=4))
 
-    plt.show()
-    plt.figtext(0.15, 0.13, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.13, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_slice_padding_0.png', bbox_inches='tight')
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Central phase slices (padding = 10)', fontsize=20)
-
-    print '--PLOT/SAVE PHASE SLICES HOMOG. MAGN. DISC PADDING = 10'
-    # Plot phase slices:
-    axes[0].plot(x_d[0], y_d10[0], '-k', linewidth=1.5, label='analytic')
-    axes[0].plot(x_d[1], y_d10[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[0].plot(x_d[2], y_d10[2], '-m', linewidth=1.5, label='1 nm')
-    axes[0].plot(x_d[3], y_d10[3], '-y', linewidth=1.5, label='2 nm')
-    axes[0].plot(x_d[4], y_d10[4], '-g', linewidth=1.5, label='4 nm')
-    axes[0].plot(x_d[5], y_d10[5], '-c', linewidth=1.5, label='8 nm')
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('phase [mrad]', fontsize=15)
-    axes[0].set_xlim(0, 128)
-    axes[0].set_ylim(-220, 220)
+plt.show()
+plt.figtext(0.15, 0.13, 'a)', fontsize=30)
+plt.figtext(0.57, 0.13, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_slice_padding_0.png', bbox_inches='tight')
+
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Central phase slices (padding = 10)', fontsize=20)
+
+print '--PLOT/SAVE PHASE SLICES HOMOG. MAGN. DISC PADDING = 10'
+# Plot phase slices:
+axes[0].plot(x_d[0], y_d10[0], '-k', linewidth=1.5, label='analytic')
+axes[0].plot(x_d[1], y_d10[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[0].plot(x_d[2], y_d10[2], '-m', linewidth=1.5, label='1 nm')
+axes[0].plot(x_d[3], y_d10[3], '-y', linewidth=1.5, label='2 nm')
+axes[0].plot(x_d[4], y_d10[4], '-g', linewidth=1.5, label='4 nm')
+axes[0].plot(x_d[5], y_d10[5], '-c', linewidth=1.5, label='8 nm')
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].set_title('Homog. magn. disc', fontsize=18)
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('phase [mrad]', fontsize=15)
+axes[0].set_xlim(0, 128)
+axes[0].set_ylim(-220, 220)
 #    # Plot Zoombox and Arrow:
 #    zoom = (23.5, 160, 15, 40)
 #    rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
@@ -280,21 +269,21 @@ def run():
 #    ins_axis_d.xaxis.set_major_locator(MaxNLocator(nbins=4, integer= True))
 #    ins_axis_d.yaxis.set_major_locator(MaxNLocator(nbins=3))
 
-    print '--PLOT/SAVE PHASE SLICES VORTEX STATE DISC PADDING = 10'
-    # Plot phase slices:
-    axes[1].plot(x_v[0], y_v10[0], '-k', linewidth=1.5, label='analytic')
-    axes[1].plot(x_v[1], y_v10[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[1].plot(x_v[2], y_v10[2], '-m', linewidth=1.5, label='1 nm')
-    axes[1].plot(x_v[3], y_v10[3], '-y', linewidth=1.5, label='2 nm')
-    axes[1].plot(x_v[4], y_v10[4], '-g', linewidth=1.5, label='4 nm')
-    axes[1].plot(x_v[5], y_v10[5], '-c', linewidth=1.5, label='8 nm')
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1].set_title('Vortex state disc', fontsize=18)
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('phase [mrad]', fontsize=15)
-    axes[1].set_xlim(0, 128)
-    axes[1].yaxis.set_major_locator(MaxNLocator(nbins=6))
-    axes[1].legend()
+print '--PLOT/SAVE PHASE SLICES VORTEX STATE DISC PADDING = 10'
+# Plot phase slices:
+axes[1].plot(x_v[0], y_v10[0], '-k', linewidth=1.5, label='analytic')
+axes[1].plot(x_v[1], y_v10[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[1].plot(x_v[2], y_v10[2], '-m', linewidth=1.5, label='1 nm')
+axes[1].plot(x_v[3], y_v10[3], '-y', linewidth=1.5, label='2 nm')
+axes[1].plot(x_v[4], y_v10[4], '-g', linewidth=1.5, label='4 nm')
+axes[1].plot(x_v[5], y_v10[5], '-c', linewidth=1.5, label='8 nm')
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+axes[1].set_title('Vortex state disc', fontsize=18)
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('phase [mrad]', fontsize=15)
+axes[1].set_xlim(0, 128)
+axes[1].yaxis.set_major_locator(MaxNLocator(nbins=6))
+axes[1].legend()
 #    # Plot Zoombox and Arrow:
 #    zoom = (59, 340, 10, 55)
 #    rect = Rectangle((zoom[0], zoom[1]), zoom[2], zoom[3], fc='w', ec='k')
@@ -315,349 +304,357 @@ def run():
 #    ins_axis_v.xaxis.set_major_locator(MaxNLocator(nbins=4, integer= True))
 #    ins_axis_v.yaxis.set_major_locator(MaxNLocator(nbins=4))
 
-    plt.show()
-    plt.figtext(0.15, 0.13, 'c)', fontsize=30)
-    plt.figtext(0.57, 0.13, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_slice_padding_10.png', bbox_inches='tight')
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Central phase slice errors (padding = 0)', fontsize=20)
-
-    print '--PLOT/SAVE PHASE SLICE ERRORS HOMOG. MAGN. DISC PADDING = 0'
-    # Plot phase slices:
-    axes[0].plot(x_d[0], dy_d0[0], '-k', linewidth=1.5, label='analytic')
-    axes[0].plot(x_d[1], dy_d0[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[0].plot(x_d[2], dy_d0[2], '-m', linewidth=1.5, label='1 nm')
-    axes[0].plot(x_d[3], dy_d0[3], '-y', linewidth=1.5, label='2 nm')
-    axes[0].plot(x_d[4], dy_d0[4], '-g', linewidth=1.5, label='4 nm')
-    axes[0].plot(x_d[5], dy_d0[5], '-c', linewidth=1.5, label='8 nm')
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('phase [mrad]', fontsize=15)
-    axes[0].set_xlim(0, 128)
-
-    print '--PLOT/SAVE PHASE SLICE ERRORS VORTEX STATE DISC PADDING = 0'
-    # Plot phase slices:
-    axes[1].plot(x_v[0], dy_v0[0], '-k', linewidth=1.5, label='analytic')
-    axes[1].plot(x_v[1], dy_v0[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[1].plot(x_v[2], dy_v0[2], '-m', linewidth=1.5, label='1 nm')
-    axes[1].plot(x_v[3], dy_v0[3], '-y', linewidth=1.5, label='2 nm')
-    axes[1].plot(x_v[4], dy_v0[4], '-g', linewidth=1.5, label='4 nm')
-    axes[1].plot(x_v[5], dy_v0[5], '-c', linewidth=1.5, label='8 nm')
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1].set_title('Vortex state disc', fontsize=18)
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('phase [mrad]', fontsize=15)
-    axes[1].set_xlim(0, 128)
-    axes[1].legend(loc=4)
-
-    plt.show()
-    plt.figtext(0.15, 0.13, 'c)', fontsize=30)
-    plt.figtext(0.57, 0.13, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_slice_errors_padding_0.png', bbox_inches='tight')
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Central phase slice errors (padding = 10)', fontsize=20)
-
-    print '--PLOT/SAVE PHASE SLICE ERRORS HOMOG. MAGN. DISC PADDING = 10'
-    # Plot phase slices:
-    axes[0].plot(x_d[0], dy_d10[0], '-k', linewidth=1.5, label='analytic')
-    axes[0].plot(x_d[1], dy_d10[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[0].plot(x_d[2], dy_d10[2], '-m', linewidth=1.5, label='1 nm')
-    axes[0].plot(x_d[3], dy_d10[3], '-y', linewidth=1.5, label='2 nm')
-    axes[0].plot(x_d[4], dy_d10[4], '-g', linewidth=1.5, label='4 nm')
-    axes[0].plot(x_d[5], dy_d10[5], '-c', linewidth=1.5, label='8 nm')
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0].set_xlabel('x [nm]', fontsize=15)
-    axes[0].set_ylabel('phase [mrad]', fontsize=15)
-    axes[0].set_xlim(0, 128)
-
-    print '--PLOT/SAVE PHASE SLICE ERRORS VORTEX STATE DISC PADDING = 10'
-    # Plot phase slices:
-    axes[1].plot(x_v[0], dy_v10[0], '-k', linewidth=1.5, label='analytic')
-    axes[1].plot(x_v[1], dy_v10[1], '-r', linewidth=1.5, label='0.5 nm')
-    axes[1].plot(x_v[2], dy_v10[2], '-m', linewidth=1.5, label='1 nm')
-    axes[1].plot(x_v[3], dy_v10[3], '-y', linewidth=1.5, label='2 nm')
-    axes[1].plot(x_v[4], dy_v10[4], '-g', linewidth=1.5, label='4 nm')
-    axes[1].plot(x_v[5], dy_v10[5], '-c', linewidth=1.5, label='8 nm')
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1].set_title('Vortex state disc', fontsize=18)
-    axes[1].set_xlabel('x [nm]', fontsize=15)
-    axes[1].set_ylabel('phase [mrad]', fontsize=15)
-    axes[1].set_xlim(0, 128)
-    axes[1].legend(loc=4)
-
-    plt.show()
-    plt.figtext(0.15, 0.13, 'c)', fontsize=30)
-    plt.figtext(0.57, 0.13, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-1-phase_slice_errors_padding_10.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CH5-2 PHASE DIFFERENCES FOURIER SPACE'
-
-    # Input parameters:
-    a = 1.0  # in nm
-    phi = pi/2
-    dim = (16, 128, 128)  # in px (z, y, x)
-    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
-    radius = dim[1]/4  # in px
-    height = dim[0]/2  # in px
-
-    key = 'ch5-1-phase_diff_mag_dist'
-    if key in data_shelve:
-        print '--LOAD MAGNETIC DISTRIBUTIONS'
-        (mag_data_disc, mag_data_vort) = data_shelve[key]
+plt.show()
+plt.figtext(0.15, 0.13, 'c)', fontsize=30)
+plt.figtext(0.57, 0.13, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_slice_padding_10.png', bbox_inches='tight')
+
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Central phase slice errors (padding = 0)', fontsize=20)
+
+print '--PLOT/SAVE PHASE SLICE ERRORS HOMOG. MAGN. DISC PADDING = 0'
+# Plot phase slices:
+axes[0].plot(x_d[0], dy_d0[0], '-k', linewidth=1.5, label='analytic')
+axes[0].plot(x_d[1], dy_d0[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[0].plot(x_d[2], dy_d0[2], '-m', linewidth=1.5, label='1 nm')
+axes[0].plot(x_d[3], dy_d0[3], '-y', linewidth=1.5, label='2 nm')
+axes[0].plot(x_d[4], dy_d0[4], '-g', linewidth=1.5, label='4 nm')
+axes[0].plot(x_d[5], dy_d0[5], '-c', linewidth=1.5, label='8 nm')
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].set_title('Homog. magn. disc', fontsize=18)
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('phase [mrad]', fontsize=15)
+axes[0].set_xlim(0, 128)
+
+print '--PLOT/SAVE PHASE SLICE ERRORS VORTEX STATE DISC PADDING = 0'
+# Plot phase slices:
+axes[1].plot(x_v[0], dy_v0[0], '-k', linewidth=1.5, label='analytic')
+axes[1].plot(x_v[1], dy_v0[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[1].plot(x_v[2], dy_v0[2], '-m', linewidth=1.5, label='1 nm')
+axes[1].plot(x_v[3], dy_v0[3], '-y', linewidth=1.5, label='2 nm')
+axes[1].plot(x_v[4], dy_v0[4], '-g', linewidth=1.5, label='4 nm')
+axes[1].plot(x_v[5], dy_v0[5], '-c', linewidth=1.5, label='8 nm')
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+axes[1].set_title('Vortex state disc', fontsize=18)
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('phase [mrad]', fontsize=15)
+axes[1].set_xlim(0, 128)
+axes[1].legend(loc=4)
+
+plt.show()
+plt.figtext(0.15, 0.13, 'c)', fontsize=30)
+plt.figtext(0.57, 0.13, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_slice_errors_padding_0.png', bbox_inches='tight')
+
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Central phase slice errors (padding = 10)', fontsize=20)
+
+print '--PLOT/SAVE PHASE SLICE ERRORS HOMOG. MAGN. DISC PADDING = 10'
+# Plot phase slices:
+axes[0].plot(x_d[0], dy_d10[0], '-k', linewidth=1.5, label='analytic')
+axes[0].plot(x_d[1], dy_d10[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[0].plot(x_d[2], dy_d10[2], '-m', linewidth=1.5, label='1 nm')
+axes[0].plot(x_d[3], dy_d10[3], '-y', linewidth=1.5, label='2 nm')
+axes[0].plot(x_d[4], dy_d10[4], '-g', linewidth=1.5, label='4 nm')
+axes[0].plot(x_d[5], dy_d10[5], '-c', linewidth=1.5, label='8 nm')
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].set_title('Homog. magn. disc', fontsize=18)
+axes[0].set_xlabel('x [nm]', fontsize=15)
+axes[0].set_ylabel('phase [mrad]', fontsize=15)
+axes[0].set_xlim(0, 128)
+
+print '--PLOT/SAVE PHASE SLICE ERRORS VORTEX STATE DISC PADDING = 10'
+# Plot phase slices:
+axes[1].plot(x_v[0], dy_v10[0], '-k', linewidth=1.5, label='analytic')
+axes[1].plot(x_v[1], dy_v10[1], '-r', linewidth=1.5, label='0.5 nm')
+axes[1].plot(x_v[2], dy_v10[2], '-m', linewidth=1.5, label='1 nm')
+axes[1].plot(x_v[3], dy_v10[3], '-y', linewidth=1.5, label='2 nm')
+axes[1].plot(x_v[4], dy_v10[4], '-g', linewidth=1.5, label='4 nm')
+axes[1].plot(x_v[5], dy_v10[5], '-c', linewidth=1.5, label='8 nm')
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+axes[1].set_title('Vortex state disc', fontsize=18)
+axes[1].set_xlabel('x [nm]', fontsize=15)
+axes[1].set_ylabel('phase [mrad]', fontsize=15)
+axes[1].set_xlim(0, 128)
+axes[1].legend(loc=4)
+
+plt.show()
+plt.figtext(0.15, 0.13, 'c)', fontsize=30)
+plt.figtext(0.57, 0.13, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-1-phase_slice_errors_padding_10.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CH5-2 PHASE DIFFERENCES FOURIER SPACE'
+
+# Input parameters:
+a = 1.0  # in nm
+phi = pi/2
+dim = (16, 128, 128)  # in px (z, y, x)
+center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
+radius = dim[1]/4  # in px
+height = dim[0]/2  # in px
+
+key = 'ch5-1-phase_diff_mag_dist'
+if key in data_shelve and not force_calculation:
+    print '--LOAD MAGNETIC DISTRIBUTIONS'
+    (mag_data_disc, mag_data_vort) = data_shelve[key]
+else:
+    print '--CREATE MAGNETIC DISTRIBUTIONS'
+    # Create magnetic shape (4 times the size):
+    a_big = a / 2
+    dim_big = (dim[0]*2, dim[1]*2, dim[2]*2)
+    center_big = (dim_big[0]/2-0.5, dim_big[1]/2.-0.5, dim_big[2]/2.-0.5)
+    radius_big = dim_big[1]/4  # in px
+    height_big = dim_big[0]/2  # in px
+    mag_shape = mc.Shapes.disc(dim_big, center_big, radius_big, height_big)
+    # Create MagData (4 times the size):
+    mag_data_disc = MagData(a_big, mc.create_mag_dist_homog(mag_shape, phi))
+    mag_data_vort = MagData(a_big, mc.create_mag_dist_vortex(mag_shape, center_big))
+    # Scale mag_data, grid spacing and dimensions:
+    mag_data_disc.scale_down()
+    mag_data_vort.scale_down()
+    print '--SAVE MAGNETIC DISTRIBUTIONS'
+    # Shelve magnetic distributions:
+    data_shelve[key] = (mag_data_disc, mag_data_vort)
+
+print '--PLOT/SAVE PHASE DIFFERENCES'
+# Create projections along z-axis:
+projector = SimpleProjector(dim)
+# Get analytic solutions:
+phase_map_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
+phase_map_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
+
+# Create phasemapper:
+phasemapper = PMFourier(a, projector, padding=0)
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Difference of the Fourier space approach from the analytical solution', fontsize=20)
+# Create norm for the plots:
+bounds = np.array([-100, -50, -25, -5, 0, 5, 25, 50, 100])
+norm = BoundaryNorm(bounds, RdBu.N)
+# Disc:
+phase_map_num_disc = phasemapper(mag_data_disc)
+phase_map_num_disc.unit = 'mrad'
+phase_diff_disc = phase_map_num_disc - phase_map_ana_disc
+RMS_disc = np.sqrt(np.mean(phase_diff_disc.phase**2))
+phase_diff_disc.display_phase('Homog. magn. disc, RMS = {:3.2f} mrad'.format(RMS_disc),
+                              axis=axes[0], limit=np.max(bounds), norm=norm)
+axes[0].set_aspect('equal')
+
+# Create norm for the plots:
+bounds = np.array([-3, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 3])
+norm = BoundaryNorm(bounds, RdBu.N)
+# Vortex:
+phase_map_num_vort = phasemapper(mag_data_vort)
+phase_map_num_vort.unit = 'mrad'
+phase_diff_vort = phase_map_num_vort - phase_map_ana_vort
+phase_diff_vort -= np.mean(phase_diff_vort.phase)
+RMS_vort = np.sqrt(np.mean(phase_diff_vort.phase**2))
+phase_diff_vort.display_phase(u'Vortex state disc, RMS = {:3.2f} µrad'.format(RMS_vort*1000),
+                              axis=axes[1], limit=np.max(bounds), norm=norm)
+axes[1].set_aspect('equal')
+
+plt.show()
+plt.figtext(0.15, 0.2, 'a)', fontsize=30)
+plt.figtext(0.52, 0.2, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-2-fourier_phase_differe_no_padding.png', bbox_inches='tight')
+
+# Create phasemapper:
+phasemapper = PMFourier(a, projector, padding=10)
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Difference of the Fourier space approach from the analytical solution', fontsize=20)
+# Create norm for the plots:
+bounds = np.array([-3, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 3])
+norm = BoundaryNorm(bounds, RdBu.N)
+# Disc:
+phase_map_num_disc = phasemapper(mag_data_disc)
+phase_map_num_disc.unit = 'mrad'
+phase_diff_disc = phase_map_num_disc - phase_map_ana_disc
+RMS_disc = np.sqrt(np.mean(phase_diff_disc.phase**2))
+phase_diff_disc.display_phase(u'Homog. magn. disc, RMS = {:3.2f} µrad'.format(RMS_disc*1000),
+                              axis=axes[0], limit=np.max(bounds), norm=norm)
+axes[0].set_aspect('equal')
+
+# Create norm for the plots:
+bounds = np.array([-3, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 3])
+norm = BoundaryNorm(bounds, RdBu.N)
+# Vortex:
+phase_map_num_vort = phasemapper(mag_data_vort)
+phase_map_num_vort.unit = 'mrad'
+phase_diff_vort = phase_map_num_vort - phase_map_ana_vort
+phase_diff_vort -= np.mean(phase_diff_vort.phase)
+RMS_vort = np.sqrt(np.mean(phase_diff_vort.phase**2))
+phase_diff_vort.display_phase(u'Vortex state disc, RMS = {:3.2f} µrad'.format(RMS_vort*1000),
+                              axis=axes[1], limit=np.max(bounds), norm=norm)
+axes[1].set_aspect('equal')
+
+plt.show()
+plt.figtext(0.15, 0.2, 'c)', fontsize=30)
+plt.figtext(0.52, 0.2, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-2-fourier_phase_differe_padding_10.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CH5-2 FOURIER PADDING VARIATION'
+
+# Input parameters:
+a = 1.0  # in nm
+phi = pi/2
+dim = (16, 128, 128)  # in px (z, y, x)
+center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
+radius = dim[1]/4  # in px
+height = dim[0]/2  # in px
+
+key = 'ch5-2-fourier_padding_mag_dist'
+if key in data_shelve and not force_calculation:
+    print '--LOAD MAGNETIC DISTRIBUTIONS'
+    (mag_data_disc, mag_data_vort) = data_shelve[key]
+else:
+    print '--CREATE MAGNETIC DISTRIBUTIONS'
+    # Create magnetic shape (4 times the size):
+    a_big = a / 2
+    dim_big = (dim[0]*2, dim[1]*2, dim[2]*2)
+    center_big = (dim_big[0]/2-0.5, dim_big[1]/2.-0.5, dim_big[2]/2.-0.5)
+    radius_big = dim_big[1]/4  # in px
+    height_big = dim_big[0]/2  # in px
+    mag_shape = mc.Shapes.disc(dim_big, center_big, radius_big, height_big)
+    # Create MagData (4 times the size):
+    mag_data_disc = MagData(a_big, mc.create_mag_dist_homog(mag_shape, phi))
+    mag_data_vort = MagData(a_big, mc.create_mag_dist_vortex(mag_shape, center_big))
+    # Scale mag_data, grid spacing and dimensions:
+    mag_data_disc.scale_down()
+    mag_data_vort.scale_down()
+    print '--SAVE MAGNETIC DISTRIBUTIONS'
+    # Shelve magnetic distributions:
+    data_shelve[key] = (mag_data_disc, mag_data_vort)
+
+# Create projections along z-axis:
+projector = SimpleProjector(dim)
+# Get analytic solutions:
+phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
+phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
+
+# List of applied paddings:
+padding_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
+
+print '--LOAD/CREATE PADDING SERIES OF HOMOG. MAGN. DISC'
+data_disc = np.zeros((3, len(padding_list)))
+data_disc[0, :] = padding_list
+for (i, padding) in enumerate(padding_list):
+    key = ', '.join(['Padding->RMS|duration', 'Fourier', 'padding={}'.format(padding_list[i]),
+                    'a={}'.format(a), 'dim={}'.format(dim), 'phi={}'.format(phi), 'disc'])
+    if key in data_shelve and not force_calculation:
+        data_disc[:, i] = data_shelve[key]
     else:
-        print '--CREATE MAGNETIC DISTRIBUTIONS'
-        # Create magnetic shape (4 times the size):
-        a_big = a / 2
-        dim_big = (dim[0]*2, dim[1]*2, dim[2]*2)
-        center_big = (dim_big[0]/2-0.5, dim_big[1]/2.-0.5, dim_big[2]/2.-0.5)
-        radius_big = dim_big[1]/4  # in px
-        height_big = dim_big[0]/2  # in px
-        mag_shape = mc.Shapes.disc(dim_big, center_big, radius_big, height_big)
-        # Create MagData (4 times the size):
-        mag_data_disc = MagData(a_big, mc.create_mag_dist_homog(mag_shape, phi))
-        mag_data_vort = MagData(a_big, mc.create_mag_dist_vortex(mag_shape, center_big))
-        # Scale mag_data, grid spacing and dimensions:
-        mag_data_disc.scale_down()
-        mag_data_vort.scale_down()
-        print '--SAVE MAGNETIC DISTRIBUTIONS'
-        # Shelve magnetic distributions:
-        data_shelve[key] = (mag_data_disc, mag_data_vort)
-
-    print '--PLOT/SAVE PHASE DIFFERENCES'
-    # Create projections along z-axis:
-    projection_disc = pj.simple_axis_projection(mag_data_disc)
-    projection_vort = pj.simple_axis_projection(mag_data_vort)
-    # Get analytic solutions:
-    phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
-    phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Difference of the real space approach from the analytical solution', fontsize=20)
-    # Create norm for the plots:
-    bounds = np.array([-100, -50, -25, -5, 0, 5, 25, 50, 100])
-    norm = BoundaryNorm(bounds, RdBu.N)
-    # Disc:
-    phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=0)
-    phase_diff_disc = PhaseMap(a, (phase_num_disc-phase_ana_disc), 'mrad')
-    RMS_disc = np.sqrt(np.mean(phase_diff_disc.phase**2))
-    phase_diff_disc.display('Homog. magn. disc, RMS = {:3.2f} mrad'.format(RMS_disc),
-                            axis=axes[0], limit=np.max(bounds), norm=norm)
-    axes[0].set_aspect('equal')
-    # Vortex:
-    phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=0)
-    phase_diff_vort = PhaseMap(a, (phase_num_vort-phase_ana_vort), 'mrad')
-    RMS_vort = np.sqrt(np.mean(phase_diff_vort.phase**2))
-    phase_diff_vort.display('Vortex state disc, RMS = {:3.2f} mrad'.format(RMS_vort),
-                            axis=axes[1], limit=np.max(bounds), norm=norm)
-    axes[1].set_aspect('equal')
-
-    plt.show()
-    plt.figtext(0.15, 0.2, 'a)', fontsize=30)
-    plt.figtext(0.52, 0.2, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-2-fourier_phase_differe_no_padding.png', bbox_inches='tight')
-
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Difference of the real space approach from the analytical solution', fontsize=20)
-    # Create norm for the plots:
-    bounds = np.array([-3, -0.5, -0.25, -0.1, 0, 0.1, 0.25, 0.5, 3])
-    norm = BoundaryNorm(bounds, RdBu.N)
-    # Disc:
-    phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=10)
-    phase_diff_disc = PhaseMap(a, (phase_num_disc-phase_ana_disc), 'mrad')
-    RMS_disc = np.sqrt(np.mean(phase_diff_disc.phase**2))
-    phase_diff_disc.display('Homog. magn. disc, RMS = {:3.2f} mrad'.format(RMS_disc),
-                            axis=axes[0], limit=np.max(bounds), norm=norm)
-    axes[0].set_aspect('equal')
-    # Vortex:
-    phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=10)
-    phase_diff_vort = PhaseMap(a, (phase_num_vort-phase_ana_vort), 'mrad')
-    RMS_vort = np.sqrt(np.mean(phase_diff_vort.phase**2))
-    phase_diff_vort.display('Vortex state disc, RMS = {:3.2f} mrad'.format(RMS_vort),
-                            axis=axes[1], limit=np.max(bounds), norm=norm)
-    axes[1].set_aspect('equal')
-
-    plt.show()
-    plt.figtext(0.15, 0.2, 'c)', fontsize=30)
-    plt.figtext(0.52, 0.2, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-2-fourier_phase_differe_padding_10.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CH5-2 FOURIER PADDING VARIATION'
-
-    # Input parameters:
-    a = 1.0  # in nm
-    phi = pi/2
-    dim = (16, 128, 128)  # in px (z, y, x)
-    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts with 0!
-    radius = dim[1]/4  # in px
-    height = dim[0]/2  # in px
-
-    key = 'ch5-2-fourier_padding_mag_dist'
-    if key in data_shelve:
-        print '--LOAD MAGNETIC DISTRIBUTIONS'
-        (mag_data_disc, mag_data_vort) = data_shelve[key]
+        print '----calculate and save padding =', padding_list[i]
+        phasemapper = PMFourier(a, projector, padding=padding_list[i])
+        start_time = time.time()
+        phase_num_disc = phasemapper(mag_data_disc)
+        data_disc[2, i] = time.time() - start_time
+        phase_map_diff = phase_num_disc - phase_ana_disc
+        phase_map_diff.unit = 'mrad'
+        phase_map_diff.display_phase()
+        data_disc[1, i] = np.sqrt(np.mean(phase_map_diff.phase**2))*1E3  # *1E3: rad to mraddd
+        data_shelve[key] = data_disc[:, i]
+
+print '--PLOT/SAVE PADDING SERIES OF HOMOG. MAGN. DISC'
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Variation of the padding (homog. magn. disc)', fontsize=20)
+# Plot RMS against padding:
+axes[0].axhline(y=0.18, linestyle='--', color='g', label='RMS [mrad] (real space)')
+axes[0].plot(data_disc[0], data_disc[1], 'go-', label='RMS [mrad] (Fourier space)')
+axes[0].set_xlabel('padding', fontsize=15)
+axes[0].set_ylabel('RMS [mrad]', fontsize=15)
+axes[0].set_xlim(-0.5, 16.5)
+axes[0].set_ylim(-5, 45)
+axes[0].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].legend()
+# Plot zoom inset:
+ins_axis_d = plt.axes([0.2, 0.35, 0.25, 0.4])
+ins_axis_d.axhline(y=0.18, linestyle='--', color='g')
+ins_axis_d.plot(data_disc[0], data_disc[1], 'go-')
+ins_axis_d.set_yscale('log')
+ins_axis_d.set_xlim(5.5, 16.5)
+ins_axis_d.set_ylim(0.1, 1.1)
+ins_axis_d.tick_params(axis='both', which='major', labelsize=14)
+# Plot duration against padding:
+axes[1].plot(data_disc[0], data_disc[2], 'bo-')
+axes[1].set_xlabel('padding', fontsize=15)
+axes[1].set_ylabel('duration [s]', fontsize=15)
+axes[1].set_xlim(-0.5, 16.5)
+axes[1].set_ylim(-0.05, 1.5)
+axes[1].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
+axes[1].yaxis.set_major_locator(MaxNLocator(nbins=10))
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+
+plt.show()
+plt.figtext(0.15, 0.13, 'a)', fontsize=30)
+plt.figtext(0.57, 0.17, 'b)', fontsize=30)
+plt.savefig(directory + '/ch5-2-disc_padding_variation.png', bbox_inches='tight')
+
+print '--LOAD/CREATE PADDING SERIES OF VORTEX STATE DISC'
+data_vort = np.zeros((3, len(padding_list)))
+data_vort[0, :] = padding_list
+for (i, padding) in enumerate(padding_list):
+    key = ', '.join(['Padding->RMS|duration', 'Fourier', 'padding={}'.format(padding_list[i]),
+                    'a={}'.format(a), 'dim={}'.format(dim), 'phi={}'.format(phi), 'vort'])
+    if key in data_shelve and not force_calculation:
+        data_vort[:, i] = data_shelve[key]
     else:
-        print '--CREATE MAGNETIC DISTRIBUTIONS'
-        # Create magnetic shape (4 times the size):
-        a_big = a / 2
-        dim_big = (dim[0]*2, dim[1]*2, dim[2]*2)
-        center_big = (dim_big[0]/2-0.5, dim_big[1]/2.-0.5, dim_big[2]/2.-0.5)
-        radius_big = dim_big[1]/4  # in px
-        height_big = dim_big[0]/2  # in px
-        mag_shape = mc.Shapes.disc(dim_big, center_big, radius_big, height_big)
-        # Create MagData (4 times the size):
-        mag_data_disc = MagData(a_big, mc.create_mag_dist_homog(mag_shape, phi))
-        mag_data_vort = MagData(a_big, mc.create_mag_dist_vortex(mag_shape, center_big))
-        # Scale mag_data, grid spacing and dimensions:
-        mag_data_disc.scale_down()
-        mag_data_vort.scale_down()
-        print '--SAVE MAGNETIC DISTRIBUTIONS'
-        # Shelve magnetic distributions:
-        data_shelve[key] = (mag_data_disc, mag_data_vort)
-
-    # Create projections along z-axis:
-    projection_disc = pj.simple_axis_projection(mag_data_disc)
-    projection_vort = pj.simple_axis_projection(mag_data_vort)
-    # Get analytic solutions:
-    phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
-    phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
-
-    # List of applied paddings:
-    padding_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
-
-    print '--LOAD/CREATE PADDING SERIES OF HOMOG. MAGN. DISC'
-    data_disc = np.zeros((3, len(padding_list)))
-    data_disc[0, :] = padding_list
-    for (i, padding) in enumerate(padding_list):
-        key = ', '.join(['Padding->RMS|duration', 'Fourier', 'padding={}'.format(padding_list[i]),
-                        'a={}'.format(a), 'dim={}'.format(dim), 'phi={}'.format(phi), 'disc'])
-        if key in data_shelve:
-            data_disc[:, i] = data_shelve[key]
-        else:
-            print '----calculate and save padding =', padding_list[i]
-            start_time = time.time()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding_list[i])
-            data_disc[2, i] = time.time() - start_time
-            phase_diff = (phase_num_disc-phase_ana_disc)
-            phase_map_diff = PhaseMap(a, phase_diff, 'mrad')
-            phase_map_diff.display()
-            data_disc[1, i] = np.sqrt(np.mean(phase_map_diff.phase**2))*1E3  # *1E3: rad to mraddd
-            data_shelve[key] = data_disc[:, i]
-
-    print '--PLOT/SAVE PADDING SERIES OF HOMOG. MAGN. DISC'
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Variation of the padding (homog. magn. disc)', fontsize=20)
-    # Plot RMS against padding:
-    axes[0].axhline(y=0.18, linestyle='--', color='g', label='RMS [mrad] (real space)')
-    axes[0].plot(data_disc[0], data_disc[1], 'go-', label='RMS [mrad] (Fourier space)')
-    axes[0].set_xlabel('padding', fontsize=15)
-    axes[0].set_ylabel('RMS [mrad]', fontsize=15)
-    axes[0].set_xlim(-0.5, 16.5)
-    axes[0].set_ylim(-5, 45)
-    axes[0].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].legend()
-    # Plot zoom inset:
-    ins_axis_d = plt.axes([0.2, 0.35, 0.25, 0.4])
-    ins_axis_d.axhline(y=0.18, linestyle='--', color='g')
-    ins_axis_d.plot(data_disc[0], data_disc[1], 'go-')
-    ins_axis_d.set_yscale('log')
-    ins_axis_d.set_xlim(5.5, 16.5)
-    ins_axis_d.set_ylim(0.1, 1.1)
-    ins_axis_d.tick_params(axis='both', which='major', labelsize=14)
-    # Plot duration against padding:
-    axes[1].plot(data_disc[0], data_disc[2], 'bo-')
-    axes[1].set_xlabel('padding', fontsize=15)
-    axes[1].set_ylabel('duration [s]', fontsize=15)
-    axes[1].set_xlim(-0.5, 16.5)
-    axes[1].set_ylim(-0.05, 3)
-    axes[1].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
-    axes[1].yaxis.set_major_locator(MaxNLocator(nbins=10))
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-
-    plt.show()
-    plt.figtext(0.15, 0.13, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.17, 'b)', fontsize=30)
-    plt.savefig(directory + '/ch5-2-disc_padding_variation.png', bbox_inches='tight')
-
-    print '--LOAD/CREATE PADDING SERIES OF VORTEX STATE DISC'
-    data_vort = np.zeros((3, len(padding_list)))
-    data_vort[0, :] = padding_list
-    for (i, padding) in enumerate(padding_list):
-        key = ', '.join(['Padding->RMS|duration', 'Fourier', 'padding={}'.format(padding_list[i]),
-                        'a={}'.format(a), 'dim={}'.format(dim), 'phi={}'.format(phi), 'vort'])
-        if key in data_shelve:
-            data_vort[:, i] = data_shelve[key]
-        else:
-            print '----calculate and save padding =', padding_list[i]
-            start_time = time.time()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding_list[i])
-            data_vort[2, i] = time.time() - start_time
-            phase_diff = (phase_num_vort-phase_ana_vort)
-            phase_map_diff = PhaseMap(a, phase_diff, 'mrad')
-            phase_map_diff.display()
-            data_vort[1, i] = np.sqrt(np.mean(phase_map_diff.phase**2))*1E3  # *1E3: rad to mrad
-            data_shelve[key] = data_vort[:, i]
-
-    print '--PLOT/SAVE PADDING SERIES OF VORTEX STATE DISC'
-    # Create figure:
-    fig, axes = plt.subplots(1, 2, figsize=(16, 7))
-    fig.suptitle('Variation of the padding (Vortex state disc)', fontsize=20)
-    # Plot RMS against padding:
-    axes[0].axhline(y=0.22, linestyle='--', color='g', label='RMS [mrad] (real space)')
-    axes[0].plot(data_vort[0], data_vort[1], 'go-', label='RMS [mrad] (Fourier space)')
-    axes[0].set_xlabel('padding', fontsize=15)
-    axes[0].set_ylabel('RMS [mrad]', fontsize=15)
-    axes[0].set_xlim(-0.5, 16.5)
-    axes[0].set_ylim(-5, 45)
-    axes[0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
-    axes[0].legend()
-    # Plot zoom inset:
-    ins_axis_v = plt.axes([0.2, 0.35, 0.25, 0.4])
-    ins_axis_v.axhline(y=0.22, linestyle='--', color='g')
-    ins_axis_v.plot(data_vort[0], data_vort[1], 'go-')
-    ins_axis_v.set_yscale('log')
-    ins_axis_v.set_xlim(5.5, 16.5)
-    ins_axis_v.set_ylim(0.1, 1.1)
-    ins_axis_v.tick_params(axis='both', which='major', labelsize=14)
-    # Plot duration against padding:
-    axes[1].plot(data_vort[0], data_vort[2], 'bo-')
-    axes[1].set_xlabel('padding', fontsize=15)
-    axes[1].set_ylabel('duration [s]', fontsize=15)
-    axes[1].set_xlim(-0.5, 16.5)
-    axes[1].set_ylim(-0.05, 3)
-    axes[1].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
-    axes[1].yaxis.set_major_locator(MaxNLocator(nbins=10))
-    axes[1].tick_params(axis='both', which='major', labelsize=14)
-
-    plt.show()
-    plt.figtext(0.15, 0.13, 'c)', fontsize=30)
-    plt.figtext(0.57, 0.17, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-2-vortex_padding_variation.png', bbox_inches='tight')
-
-    ###############################################################################################
-    print 'CLOSING SHELVE\n'
-    # Close shelve:
-    data_shelve.close()
-
-    ###############################################################################################
-
-
-if __name__ == "__main__":
-    try:
-        run()
-    except:
-        type, value, tb = sys.exc_info()
-        traceback.print_exc()
-        pdb.post_mortem(tb)
+        print '----calculate and save padding =', padding_list[i]
+        phasemapper = PMFourier(a, projector, padding=padding_list[i])
+        start_time = time.time()
+        phase_num_vort = phasemapper(mag_data_vort)
+        data_vort[2, i] = time.time() - start_time
+        phase_map_diff = phase_num_vort - phase_ana_vort
+        phase_map_diff -= np.mean(phase_map_diff.phase)
+        phase_map_diff.unit = 'mrad'
+        phase_map_diff.display_phase()
+        data_vort[1, i] = np.sqrt(np.mean(phase_map_diff.phase**2))*1E3  # *1E3: rad to mrad
+        data_shelve[key] = data_vort[:, i]
+
+print '--PLOT/SAVE PADDING SERIES OF VORTEX STATE DISC'
+# Create figure:
+fig, axes = plt.subplots(1, 2, figsize=(16, 7))
+fig.suptitle('Variation of the padding (Vortex state disc)', fontsize=20)
+# Plot RMS against padding:
+axes[0].axhline(y=0.22, linestyle='--', color='g', label='RMS [mrad] (real space)')
+axes[0].plot(data_vort[0], data_vort[1], 'go-', label='RMS [mrad] (Fourier space)')
+axes[0].set_xlabel('padding', fontsize=15)
+axes[0].set_ylabel('RMS [mrad]', fontsize=15)
+axes[0].set_xlim(-0.5, 16.5)
+axes[0].set_ylim(-5, 45)
+axes[0].tick_params(axis='both', which='major', labelsize=14)
+axes[0].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
+axes[0].legend()
+# Plot zoom inset:
+ins_axis_v = plt.axes([0.2, 0.35, 0.25, 0.4])
+ins_axis_v.axhline(y=0.22, linestyle='--', color='g')
+ins_axis_v.plot(data_vort[0], data_vort[1], 'go-')
+ins_axis_v.set_yscale('log')
+ins_axis_v.set_xlim(5.5, 16.5)
+ins_axis_v.set_ylim(0.1, 1.1)
+ins_axis_v.tick_params(axis='both', which='major', labelsize=14)
+# Plot duration against padding:
+axes[1].plot(data_vort[0], data_vort[2], 'bo-')
+axes[1].set_xlabel('padding', fontsize=15)
+axes[1].set_ylabel('duration [s]', fontsize=15)
+axes[1].set_xlim(-0.5, 16.5)
+axes[1].set_ylim(-0.05, 1.5)
+axes[1].xaxis.set_major_locator(MaxNLocator(nbins=10, integer=True))
+axes[1].yaxis.set_major_locator(MaxNLocator(nbins=10))
+axes[1].tick_params(axis='both', which='major', labelsize=14)
+
+plt.show()
+plt.figtext(0.15, 0.13, 'c)', fontsize=30)
+plt.figtext(0.57, 0.17, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-2-vortex_padding_variation.png', bbox_inches='tight')
+
+###############################################################################################
+print 'CLOSING SHELVE\n'
+# Close shelve:
+data_shelve.close()
diff --git a/scripts/paper 1/ch5-3-comparison_of_methods.py b/scripts/paper 1/ch5-3-comparison_of_methods.py
index 6d230f0..c0c64b4 100644
--- a/scripts/paper 1/ch5-3-comparison_of_methods.py	
+++ b/scripts/paper 1/ch5-3-comparison_of_methods.py	
@@ -8,9 +8,6 @@ Created on Fri Jul 26 14:37:30 2013
 
 
 import time
-import pdb
-import traceback
-import sys
 import os
 
 import numpy as np
@@ -27,248 +24,235 @@ from pyramid.magdata import MagData
 import shelve
 
 
-def run():
+print '\nACCESS SHELVE'
+# Create / Open databank:
+directory = '../../output/paper 1'
+if not os.path.exists(directory):
+    os.makedirs(directory)
+data_shelve = shelve.open(directory + '/paper_1_shelve')
 
-    print '\nACCESS SHELVE'
-    # Create / Open databank:
-    directory = '../../output/paper 1'
-    if not os.path.exists(directory):
-        os.makedirs(directory)
-    data_shelve = shelve.open(directory + '/paper_1_shelve')
+###############################################################################################
+print 'CH5-3 METHOD COMPARISON'
 
-    ###############################################################################################
-    print 'CH5-3 METHOD COMPARISON'
+key = 'ch5-3-method_comparison'
+if key in data_shelve:
+    print '--LOAD METHOD DATA'
+    (data_disc_fourier0, data_vort_fourier0,
+     data_disc_fourier1, data_vort_fourier1,
+     data_disc_fourier10, data_vort_fourier10,
+     data_disc_real_s, data_vort_real_s,
+     data_disc_real_d, data_vort_real_d) = data_shelve[key]
+else:
+    # Input parameters:
+    steps = 6
+    a = 0.25  # in nm
+    phi = pi/2
+    dim = (64, 512, 512)  # in px (z, y, x)
+    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts at 0!
+    radius = dim[1]/4  # in px
+    height = dim[0]/2  # in px
 
-    key = 'ch5-3-method_comparison'
-    if key in data_shelve:
-        print '--LOAD METHOD DATA'
-        (data_disc_fourier0, data_vort_fourier0,
-         data_disc_fourier1, data_vort_fourier1,
-         data_disc_fourier10, data_vort_fourier10,
-         data_disc_real_s, data_vort_real_s,
-         data_disc_real_d, data_vort_real_d) = data_shelve[key]
-    else:
-        # Input parameters:
-        steps = 6
-        a = 0.25  # in nm
-        phi = pi/2
-        dim = (64, 512, 512)  # in px (z, y, x)
-        center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts at 0!
-        radius = dim[1]/4  # in px
-        height = dim[0]/2  # in px
-
-        print '--CREATE MAGNETIC SHAPE'
-        mag_shape = mc.Shapes.disc(dim, center, radius, height)
-        # Create MagData (4 times the size):
-        print '--CREATE MAG. DIST. HOMOG. MAGN. DISC'
-        mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
-        print '--CREATE MAG. DIST. VORTEX STATE DISC'
-        mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape, center))
-
-        # Create Data Arrays:
-        a_list = [a*2**i for i in np.linspace(1, steps, steps)]
-        data_disc_fourier0 = np.vstack((a_list, np.zeros((2, steps))))
-        data_vort_fourier0 = np.vstack((a_list, np.zeros((2, steps))))
-        data_disc_fourier1 = np.vstack((a_list, np.zeros((2, steps))))
-        data_vort_fourier1 = np.vstack((a_list, np.zeros((2, steps))))
-        data_disc_fourier10 = np.vstack((a_list, np.zeros((2, steps))))
-        data_vort_fourier10 = np.vstack((a_list, np.zeros((2, steps))))
-        data_disc_real_s = np.vstack((a_list, np.zeros((2, steps))))
-        data_vort_real_s = np.vstack((a_list, np.zeros((2, steps))))
-        data_disc_real_d = np.vstack((a_list, np.zeros((2, steps))))
-        data_vort_real_d = np.vstack((a_list, np.zeros((2, steps))))
+    print '--CREATE MAGNETIC SHAPE'
+    mag_shape = mc.Shapes.disc(dim, center, radius, height)
+    # Create MagData (4 times the size):
+    print '--CREATE MAG. DIST. HOMOG. MAGN. DISC'
+    mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
+    print '--CREATE MAG. DIST. VORTEX STATE DISC'
+    mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape, center))
 
-        for i in range(steps):
-            # Scale mag_data, grid spacing and dimensions:
-            mag_data_disc.scale_down()
-            mag_data_vort.scale_down()
-            dim = mag_data_disc.dim
-            a = mag_data_disc.a
-            center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px, index starts at 0!
-            radius = dim[1]/4  # in px
-            height = dim[0]/2  # in px
+    # Create Data Arrays:
+    a_list = [a*2**i for i in np.linspace(1, steps, steps)]
+    data_disc_fourier0 = np.vstack((a_list, np.zeros((2, steps))))
+    data_vort_fourier0 = np.vstack((a_list, np.zeros((2, steps))))
+    data_disc_fourier1 = np.vstack((a_list, np.zeros((2, steps))))
+    data_vort_fourier1 = np.vstack((a_list, np.zeros((2, steps))))
+    data_disc_fourier10 = np.vstack((a_list, np.zeros((2, steps))))
+    data_vort_fourier10 = np.vstack((a_list, np.zeros((2, steps))))
+    data_disc_real_s = np.vstack((a_list, np.zeros((2, steps))))
+    data_vort_real_s = np.vstack((a_list, np.zeros((2, steps))))
+    data_disc_real_d = np.vstack((a_list, np.zeros((2, steps))))
+    data_vort_real_d = np.vstack((a_list, np.zeros((2, steps))))
 
-            print '--a =', a, 'nm', 'dim =', dim
-
-            print '----CALCULATE RMS/DURATION HOMOG. MAGN. DISC'
-            # Create projections along z-axis:
-            projection_disc = pj.simple_axis_projection(mag_data_disc)
-            # Analytic solution:
-            phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
-            # Fourier unpadded:
-            padding = 0
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
-            data_disc_fourier0[2, i] = time.clock() - start_time
-            print '------time (disc, fourier0) =', data_disc_fourier0[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_fourier0[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Fourier padding 1:
-            padding = 1
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
-            data_disc_fourier1[2, i] = time.clock() - start_time
-            print '------time (disc, fourier1) =', data_disc_fourier1[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_fourier1[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Fourier padding 10:
-            padding = 10
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
-            data_disc_fourier10[2, i] = time.clock() - start_time
-            print '------time (disc, fourier10) =', data_disc_fourier10[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_fourier10[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Real space slab:
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_real(a, projection_disc, geometry='slab')
-            data_disc_real_s[2, i] = time.clock() - start_time
-            print '------time (disc, real slab) =', data_disc_real_s[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_real_s[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Real space disc:
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_real(a, projection_disc, geometry='disc')
-            data_disc_real_d[2, i] = time.clock() - start_time
-            print '------time (disc, real disc) =', data_disc_real_d[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_real_d[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-
-            print '----CALCULATE RMS/DURATION VORTEX STATE DISC'
-            # Create projections along z-axis:
-            projection_vort = pj.simple_axis_projection(mag_data_vort)
-            # Analytic solution:
-            phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
-            # Fourier unpadded:
-            padding = 0
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
-            data_vort_fourier0[2, i] = time.clock() - start_time
-            print '------time (vortex, fourier0) =', data_vort_fourier0[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_fourier0[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Fourier padding 1:
-            padding = 1
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
-            data_vort_fourier1[2, i] = time.clock() - start_time
-            print '------time (vortex, fourier1) =', data_vort_fourier1[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_fourier1[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Fourier padding 10:
-            padding = 10
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
-            data_vort_fourier10[2, i] = time.clock() - start_time
-            print '------time (vortex, fourier10) =', data_vort_fourier10[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_fourier10[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Real space slab:
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_real(a, projection_vort, geometry='slab')
-            data_vort_real_s[2, i] = time.clock() - start_time
-            print '------time (vortex, real slab) =', data_vort_real_s[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_real_s[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Real space disc:
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_real(a, projection_vort, geometry='disc')
-            data_vort_real_d[2, i] = time.clock() - start_time
-            print '------time (vortex, real disc) =', data_vort_real_d[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_real_d[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
+    for i in range(steps):
+        # Scale mag_data, grid spacing and dimensions:
+        mag_data_disc.scale_down()
+        mag_data_vort.scale_down()
+        dim = mag_data_disc.dim
+        a = mag_data_disc.a
+        center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px, index starts at 0!
+        radius = dim[1]/4  # in px
+        height = dim[0]/2  # in px
 
-        print '--SHELVE METHOD DATA'
-        data_shelve[key] = (data_disc_fourier0, data_vort_fourier0,
-                            data_disc_fourier1, data_vort_fourier1,
-                            data_disc_fourier10, data_vort_fourier10,
-                            data_disc_real_s, data_vort_real_s,
-                            data_disc_real_d, data_vort_real_d)
+        print '--a =', a, 'nm', 'dim =', dim
 
-    print '--PLOT/SAVE METHOD DATA'
+        print '----CALCULATE RMS/DURATION HOMOG. MAGN. DISC'
+        # Create projections along z-axis:
+        projection_disc = pj.simple_axis_projection(mag_data_disc)
+        # Analytic solution:
+        phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
+        # Fourier unpadded:
+        padding = 0
+        start_time = time.clock()
+        phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
+        data_disc_fourier0[2, i] = time.clock() - start_time
+        print '------time (disc, fourier0) =', data_disc_fourier0[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_fourier0[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
+        # Fourier padding 1:
+        padding = 1
+        start_time = time.clock()
+        phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
+        data_disc_fourier1[2, i] = time.clock() - start_time
+        print '------time (disc, fourier1) =', data_disc_fourier1[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_fourier1[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
+        # Fourier padding 10:
+        padding = 10
+        start_time = time.clock()
+        phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
+        data_disc_fourier10[2, i] = time.clock() - start_time
+        print '------time (disc, fourier10) =', data_disc_fourier10[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_fourier10[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
+        # Real space slab:
+        start_time = time.clock()
+        phase_num_disc = pm.phase_mag_real(a, projection_disc, geometry='slab')
+        data_disc_real_s[2, i] = time.clock() - start_time
+        print '------time (disc, real slab) =', data_disc_real_s[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_real_s[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
+        # Real space disc:
+        start_time = time.clock()
+        phase_num_disc = pm.phase_mag_real(a, projection_disc, geometry='disc')
+        data_disc_real_d[2, i] = time.clock() - start_time
+        print '------time (disc, real disc) =', data_disc_real_d[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_real_d[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
 
-    # Plot using shared rows and colums:
-    fig, axes = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(12, 8))
-    fig.tight_layout(rect=(0.05, 0.05, 0.95, 0.95))
-    fig.suptitle('Method Comparison', fontsize=20)
+        print '----CALCULATE RMS/DURATION VORTEX STATE DISC'
+        # Create projections along z-axis:
+        projection_vort = pj.simple_axis_projection(mag_data_vort)
+        # Analytic solution:
+        phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
+        # Fourier unpadded:
+        padding = 0
+        start_time = time.clock()
+        phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
+        data_vort_fourier0[2, i] = time.clock() - start_time
+        print '------time (vortex, fourier0) =', data_vort_fourier0[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_fourier0[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
+        # Fourier padding 1:
+        padding = 1
+        start_time = time.clock()
+        phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
+        data_vort_fourier1[2, i] = time.clock() - start_time
+        print '------time (vortex, fourier1) =', data_vort_fourier1[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_fourier1[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
+        # Fourier padding 10:
+        padding = 10
+        start_time = time.clock()
+        phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
+        data_vort_fourier10[2, i] = time.clock() - start_time
+        print '------time (vortex, fourier10) =', data_vort_fourier10[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_fourier10[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
+        # Real space slab:
+        start_time = time.clock()
+        phase_num_vort = pm.phase_mag_real(a, projection_vort, geometry='slab')
+        data_vort_real_s[2, i] = time.clock() - start_time
+        print '------time (vortex, real slab) =', data_vort_real_s[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_real_s[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
+        # Real space disc:
+        start_time = time.clock()
+        phase_num_vort = pm.phase_mag_real(a, projection_vort, geometry='disc')
+        data_vort_real_d[2, i] = time.clock() - start_time
+        print '------time (vortex, real disc) =', data_vort_real_d[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_real_d[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
 
-    # Plot duration against a (disc) [top/left]:
-    axes[1, 0].set_yscale('log')
-    axes[1, 0].plot(data_disc_fourier0[0], data_disc_fourier0[1], ':bs')
-    axes[1, 0].plot(data_disc_fourier1[0], data_disc_fourier1[1], ':bo')
-    axes[1, 0].plot(data_disc_fourier10[0], data_disc_fourier10[1], ':b^')
-    axes[1, 0].plot(data_disc_real_s[0], data_disc_real_s[1], '--rs')
-    axes[1, 0].plot(data_disc_real_d[0], data_disc_real_d[1], '--ro')
-    axes[1, 0].set_xlabel('a [nm]', fontsize=15)
-    axes[1, 0].set_ylabel('RMS [mrad]', fontsize=15)
-    axes[1, 0].set_xlim(-0.5, 16.5)
-    axes[1, 0].tick_params(axis='both', which='major', labelsize=14)
-    axes[1, 0].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+    print '--SHELVE METHOD DATA'
+    data_shelve[key] = (data_disc_fourier0, data_vort_fourier0,
+                        data_disc_fourier1, data_vort_fourier1,
+                        data_disc_fourier10, data_vort_fourier10,
+                        data_disc_real_s, data_vort_real_s,
+                        data_disc_real_d, data_vort_real_d)
 
-    # Plot RMS against a (disc) [bottom/left]:
-    plt.tick_params(axis='both', which='major', labelsize=14)
-    axes[0, 0].set_yscale('log')
-    axes[0, 0].plot(data_disc_fourier0[0], data_disc_fourier0[2], ':bs')
-    axes[0, 0].plot(data_disc_fourier1[0], data_disc_fourier1[2], ':bo')
-    axes[0, 0].plot(data_disc_fourier10[0], data_disc_fourier10[2], ':b^')
-    axes[0, 0].plot(data_disc_real_s[0], data_disc_real_s[2], '--rs')
-    axes[0, 0].plot(data_disc_real_d[0], data_disc_real_d[2], '--ro')
-    axes[0, 0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0, 0].set_ylabel('duration [s]', fontsize=15)
-    axes[0, 0].set_xlim(-0.5, 16.5)
-    axes[0, 0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0, 0].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+print '--PLOT/SAVE METHOD DATA'
 
-    # Plot duration against a (vortex) [top/right]:
-    axes[1, 1].set_yscale('log')
-    axes[1, 1].plot(data_vort_fourier0[0], data_vort_fourier0[1], ':bs')
-    axes[1, 1].plot(data_vort_fourier1[0], data_vort_fourier1[1], ':bo')
-    axes[1, 1].plot(data_vort_fourier10[0], data_vort_fourier10[1], ':b^')
-    axes[1, 1].plot(data_vort_real_s[0], data_vort_real_s[1], '--rs')
-    axes[1, 1].plot(data_vort_real_d[0], data_vort_real_d[1], '--ro')
-    axes[1, 1].set_xlabel('a [nm]', fontsize=15)
-    axes[1, 1].set_xlim(-0.5, 16.5)
-    axes[1, 1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1, 1].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+# Plot using shared rows and colums:
+fig, axes = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(12, 8))
+fig.tight_layout(rect=(0.05, 0.05, 0.95, 0.95))
+fig.suptitle('Method Comparison', fontsize=20)
 
-    # Plot RMS against a (vortex) [bottom/right]:
-    axes[0, 1].set_yscale('log')
-    axes[0, 1].plot(data_vort_fourier0[0], data_vort_fourier0[2], ':bs',
-                    label='Fourier padding=0')
-    axes[0, 1].plot(data_vort_fourier1[0], data_vort_fourier1[2], ':bo',
-                    label='Fourier padding=1')
-    axes[0, 1].plot(data_vort_fourier10[0], data_vort_fourier10[2], ':b^',
-                    label='Fourier padding=10')
-    axes[0, 1].plot(data_vort_real_s[0], data_vort_real_s[2], '--rs',
-                    label='Real space (slab)')
-    axes[0, 1].plot(data_vort_real_d[0], data_vort_real_d[2], '--ro',
-                    label='Real space (disc)')
-    axes[0, 1].set_title('Vortex state disc', fontsize=18)
-    axes[0, 1].set_xlim(-0.5, 16.5)
-    axes[0, 1].tick_params(axis='both', which='major', labelsize=14)
-    axes[0, 1].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
-    axes[0, 1].legend(loc=1)
+# Plot duration against a (disc) [top/left]:
+axes[1, 0].set_yscale('log')
+axes[1, 0].plot(data_disc_fourier0[0], data_disc_fourier0[1], ':bs')
+axes[1, 0].plot(data_disc_fourier1[0], data_disc_fourier1[1], ':bo')
+axes[1, 0].plot(data_disc_fourier10[0], data_disc_fourier10[1], ':b^')
+axes[1, 0].plot(data_disc_real_s[0], data_disc_real_s[1], '--rs')
+axes[1, 0].plot(data_disc_real_d[0], data_disc_real_d[1], '--ro')
+axes[1, 0].set_xlabel('a [nm]', fontsize=15)
+axes[1, 0].set_ylabel('RMS [mrad]', fontsize=15)
+axes[1, 0].set_xlim(-0.5, 16.5)
+axes[1, 0].tick_params(axis='both', which='major', labelsize=14)
+axes[1, 0].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
 
-    # Save figure as .png:
-    plt.show()
-    plt.figtext(0.45, 0.85, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.85, 'b)', fontsize=30)
-    plt.figtext(0.45, 0.15, 'c)', fontsize=30)
-    plt.figtext(0.57, 0.15, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-3-method comparison.png', bbox_inches='tight')
+# Plot RMS against a (disc) [bottom/left]:
+plt.tick_params(axis='both', which='major', labelsize=14)
+axes[0, 0].set_yscale('log')
+axes[0, 0].plot(data_disc_fourier0[0], data_disc_fourier0[2], ':bs')
+axes[0, 0].plot(data_disc_fourier1[0], data_disc_fourier1[2], ':bo')
+axes[0, 0].plot(data_disc_fourier10[0], data_disc_fourier10[2], ':b^')
+axes[0, 0].plot(data_disc_real_s[0], data_disc_real_s[2], '--rs')
+axes[0, 0].plot(data_disc_real_d[0], data_disc_real_d[2], '--ro')
+axes[0, 0].set_title('Homog. magn. disc', fontsize=18)
+axes[0, 0].set_ylabel('duration [s]', fontsize=15)
+axes[0, 0].set_xlim(-0.5, 16.5)
+axes[0, 0].tick_params(axis='both', which='major', labelsize=14)
+axes[0, 0].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
 
-    ###############################################################################################
-    print 'CLOSING SHELVE\n'
-    # Close shelve:
-    data_shelve.close()
+# Plot duration against a (vortex) [top/right]:
+axes[1, 1].set_yscale('log')
+axes[1, 1].plot(data_vort_fourier0[0], data_vort_fourier0[1], ':bs')
+axes[1, 1].plot(data_vort_fourier1[0], data_vort_fourier1[1], ':bo')
+axes[1, 1].plot(data_vort_fourier10[0], data_vort_fourier10[1], ':b^')
+axes[1, 1].plot(data_vort_real_s[0], data_vort_real_s[1], '--rs')
+axes[1, 1].plot(data_vort_real_d[0], data_vort_real_d[1], '--ro')
+axes[1, 1].set_xlabel('a [nm]', fontsize=15)
+axes[1, 1].set_xlim(-0.5, 16.5)
+axes[1, 1].tick_params(axis='both', which='major', labelsize=14)
+axes[1, 1].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
 
-    ###############################################################################################
+# Plot RMS against a (vortex) [bottom/right]:
+axes[0, 1].set_yscale('log')
+axes[0, 1].plot(data_vort_fourier0[0], data_vort_fourier0[2], ':bs',
+                label='Fourier padding=0')
+axes[0, 1].plot(data_vort_fourier1[0], data_vort_fourier1[2], ':bo',
+                label='Fourier padding=1')
+axes[0, 1].plot(data_vort_fourier10[0], data_vort_fourier10[2], ':b^',
+                label='Fourier padding=10')
+axes[0, 1].plot(data_vort_real_s[0], data_vort_real_s[2], '--rs',
+                label='Real space (slab)')
+axes[0, 1].plot(data_vort_real_d[0], data_vort_real_d[2], '--ro',
+                label='Real space (disc)')
+axes[0, 1].set_title('Vortex state disc', fontsize=18)
+axes[0, 1].set_xlim(-0.5, 16.5)
+axes[0, 1].tick_params(axis='both', which='major', labelsize=14)
+axes[0, 1].xaxis.set_major_locator(IndexLocator(base=4, offset=-0.5))
+axes[0, 1].legend(loc=1)
 
+# Save figure as .png:
+plt.show()
+plt.figtext(0.45, 0.85, 'a)', fontsize=30)
+plt.figtext(0.57, 0.85, 'b)', fontsize=30)
+plt.figtext(0.45, 0.15, 'c)', fontsize=30)
+plt.figtext(0.57, 0.15, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-3-method comparison.png', bbox_inches='tight')
 
-if __name__ == "__main__":
-    try:
-        run()
-    except:
-        type, value, tb = sys.exc_info()
-        traceback.print_exc()
-        pdb.post_mortem(tb)
+###############################################################################################
+print 'CLOSING SHELVE\n'
+# Close shelve:
+data_shelve.close()
diff --git a/scripts/paper 1/ch5-4-comparison_of_methods_new.py b/scripts/paper 1/ch5-4-comparison_of_methods_new.py
index 6be62fc..735db86 100644
--- a/scripts/paper 1/ch5-4-comparison_of_methods_new.py	
+++ b/scripts/paper 1/ch5-4-comparison_of_methods_new.py	
@@ -8,9 +8,6 @@ Created on Fri Jul 26 14:37:30 2013
 
 
 import time
-import pdb
-import traceback
-import sys
 import os
 
 import numpy as np
@@ -20,284 +17,272 @@ import matplotlib.pyplot as plt
 from matplotlib.ticker import NullLocator, LogLocator, LogFormatter
 
 import pyramid.magcreator as mc
-import pyramid.projector as pj
-import pyramid.phasemapper as pm
 import pyramid.analytic as an
 from pyramid.magdata import MagData
-from pyramid.kernel import Kernel
+from pyramid.projector import SimpleProjector
+from pyramid.phasemapper import PMConvolve, PMFourier
+
 import shelve
 
 
-def run():
+force_calculation = False
 
-    print '\nACCESS SHELVE'
-    # Create / Open databank:
-    directory = '../../output/paper 1'
-    if not os.path.exists(directory):
-        os.makedirs(directory)
-    data_shelve = shelve.open(directory + '/paper_1_shelve')
 
-    ###############################################################################################
-    print 'CH5-4 METHOD COMPARISON'
+print '\nACCESS SHELVE'
+# Create / Open databank:
+directory = '../../output/paper 1'
+if not os.path.exists(directory):
+    os.makedirs(directory)
+data_shelve = shelve.open(directory + '/paper_1_shelve')
 
-    key = 'ch5-4-method_comparison_new'
-    if key in data_shelve:
-        print '--LOAD METHOD DATA'
-        (data_disc_fourier0, data_vort_fourier0,
-         data_disc_fourier3, data_vort_fourier3,
-         data_disc_fourier10, data_vort_fourier10,
-         data_disc_real_s, data_vort_real_s,
-         data_disc_real_d, data_vort_real_d) = data_shelve[key]
-    else:
-        # Input parameters:
-        steps = 5
-        a = 0.25  # in nm
-        phi = pi/2
-        dim = (64, 512, 512)  # in px (z, y, x)
-        center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts at 0!
-        radius = dim[1]/4  # in px
-        height = dim[0]/2  # in px
+###############################################################################################
+print 'CH5-4 METHOD COMPARISON'
 
-        print '--CREATE MAGNETIC SHAPE'
-        mag_shape = mc.Shapes.disc(dim, center, radius, height)
-        # Create MagData (4 times the size):
-        print '--CREATE MAG. DIST. HOMOG. MAGN. DISC'
-        mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
-        print '--CREATE MAG. DIST. VORTEX STATE DISC'
-        mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape, center))
+key = 'ch5-4-method_comparison_new'
+if key in data_shelve and not force_calculation:
+    print '--LOAD METHOD DATA'
+    (data_disc_fourier0, data_vort_fourier0,
+     data_disc_fourier3, data_vort_fourier3,
+     data_disc_fourier10, data_vort_fourier10,
+     data_disc_real_s, data_vort_real_s,
+     data_disc_real_d, data_vort_real_d) = data_shelve[key]
+else:
+    # Input parameters:
+    steps = 4
+    a = 0.5  # in nm
+    phi = pi/2
+    dim = (32, 256, 256)  # in px (z, y, x)
+    center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px (z, y, x) index starts at 0!
+    radius = dim[1]/4  # in px
+    height = dim[0]/2  # in px
 
-        # Create Data Arrays:
-        dim_list = [dim[2]/2**i for i in np.linspace(1, steps, steps)]
-        data_disc_fourier0 = np.vstack((dim_list, np.zeros((2, steps))))
-        data_vort_fourier0 = np.vstack((dim_list, np.zeros((2, steps))))
-        data_disc_fourier3 = np.vstack((dim_list, np.zeros((2, steps))))
-        data_vort_fourier3 = np.vstack((dim_list, np.zeros((2, steps))))
-        data_disc_fourier10 = np.vstack((dim_list, np.zeros((2, steps))))
-        data_vort_fourier10 = np.vstack((dim_list, np.zeros((2, steps))))
-        data_disc_real_s = np.vstack((dim_list, np.zeros((2, steps))))
-        data_vort_real_s = np.vstack((dim_list, np.zeros((2, steps))))
-        data_disc_real_d = np.vstack((dim_list, np.zeros((2, steps))))
-        data_vort_real_d = np.vstack((dim_list, np.zeros((2, steps))))
+    print '--CREATE MAGNETIC SHAPE'
+    mag_shape = mc.Shapes.disc(dim, center, radius, height)
+    # Create MagData (4 times the size):
+    print '--CREATE MAG. DIST. HOMOG. MAGN. DISC'
+    mag_data_disc = MagData(a, mc.create_mag_dist_homog(mag_shape, phi))
+    print '--CREATE MAG. DIST. VORTEX STATE DISC'
+    mag_data_vort = MagData(a, mc.create_mag_dist_vortex(mag_shape, center))
 
-        for i in range(steps):
-            # Scale mag_data, grid spacing and dimensions:
-            mag_data_disc.scale_down()
-            mag_data_vort.scale_down()
-            dim = mag_data_disc.dim
-            a = mag_data_disc.a
-            center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px, index starts at 0!
-            radius = dim[1]/4  # in px
-            height = dim[0]/2  # in px
+    # Create Data Arrays:
+    dim_list = [dim[2]/2**i for i in range(steps)]
+    data_disc_fourier0 = np.vstack((dim_list, np.zeros((2, steps))))
+    data_vort_fourier0 = np.vstack((dim_list, np.zeros((2, steps))))
+    data_disc_fourier3 = np.vstack((dim_list, np.zeros((2, steps))))
+    data_vort_fourier3 = np.vstack((dim_list, np.zeros((2, steps))))
+    data_disc_fourier10 = np.vstack((dim_list, np.zeros((2, steps))))
+    data_vort_fourier10 = np.vstack((dim_list, np.zeros((2, steps))))
+    data_disc_real_s = np.vstack((dim_list, np.zeros((2, steps))))
+    data_vort_real_s = np.vstack((dim_list, np.zeros((2, steps))))
+    data_disc_real_d = np.vstack((dim_list, np.zeros((2, steps))))
+    data_vort_real_d = np.vstack((dim_list, np.zeros((2, steps))))
 
-            print '--a =', a, 'nm', 'dim =', dim
+    for i in range(steps):
+        # Scale mag_data, grid spacing and dimensions:
+        dim = mag_data_disc.dim
+        a = mag_data_disc.a
+        center = (dim[0]/2-0.5, dim[1]/2.-0.5, dim[2]/2.-0.5)  # in px, index starts at 0!
+        radius = dim[1]/4  # in px
+        height = dim[0]/2  # in px
 
-            print '----CALCULATE RMS/DURATION HOMOG. MAGN. DISC'
-            # Create projections along z-axis:
-            projection_disc = pj.simple_axis_projection(mag_data_disc)
-            # Analytic solution:
-            phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
-            # Fourier unpadded:
-            padding = 0
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
-            data_disc_fourier0[2, i] = time.clock() - start_time
-            print '------time (disc, fourier0) =', data_disc_fourier0[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_fourier0[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Fourier padding 3:
-            padding = 3
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
-            data_disc_fourier3[2, i] = time.clock() - start_time
-            print '------time (disc, fourier3) =', data_disc_fourier3[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_fourier3[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Fourier padding 10:
-            padding = 10
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag_fourier(a, projection_disc, padding=padding)
-            data_disc_fourier10[2, i] = time.clock() - start_time
-            print '------time (disc, fourier10) =', data_disc_fourier10[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_fourier10[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Real space slab:
-            kernel = Kernel((dim[1], dim[2]), a, geometry='slab')
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag(a, projection_disc, kernel=kernel)
-            data_disc_real_s[2, i] = time.clock() - start_time
-            print '------time (disc, real slab) =', data_disc_real_s[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_real_s[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
-            # Real space disc:
-            kernel = Kernel((dim[1], dim[2]), a, geometry='slab')
-            start_time = time.clock()
-            phase_num_disc = pm.phase_mag(a, projection_disc, kernel=kernel)
-            data_disc_real_d[2, i] = time.clock() - start_time
-            print '------time (disc, real disc) =', data_disc_real_d[2, i]
-            phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
-            data_disc_real_d[1, i] = np.sqrt(np.mean(phase_diff_disc**2))
+        print '--a =', a, 'nm', 'dim =', dim
+        
+        # Create projector along z-axis and phasemapper:
+        projector = SimpleProjector(dim)
+        pm_fourier0 = PMFourier(a, projector, padding=0)
+        pm_fourier3 = PMFourier(a, projector, padding=3)
+        pm_fourier10 = PMFourier(a, projector, padding=10)
+        pm_slab = PMConvolve(a, projector, geometry='slab')
+        pm_disc = PMConvolve(a, projector, geometry='disc')
 
-            print '----CALCULATE RMS/DURATION HOMOG. MAGN. DISC'
-            # Create projections along z-axis:
-            projection_vort = pj.simple_axis_projection(mag_data_vort)
-            # Analytic solution:
-            phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
-            # Fourier unpadded:
-            padding = 0
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
-            data_vort_fourier0[2, i] = time.clock() - start_time
-            print '------time (vortex, fourier0) =', data_vort_fourier0[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_fourier0[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Fourier padding 3:
-            padding = 3
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
-            data_vort_fourier3[2, i] = time.clock() - start_time
-            print '------time (vortex, fourier3) =', data_vort_fourier3[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_fourier3[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Fourier padding 10:
-            padding = 10
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag_fourier(a, projection_vort, padding=padding)
-            data_vort_fourier10[2, i] = time.clock() - start_time
-            print '------time (vortex, fourier10) =', data_vort_fourier10[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_fourier10[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Real space slab:
-            kernel = Kernel((dim[1], dim[2]), a, geometry='slab')
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag(a, projection_vort, kernel=kernel)
-            data_vort_real_s[2, i] = time.clock() - start_time
-            print '------time (vortex, real slab) =', data_vort_real_s[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_real_s[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
-            # Real space disc:
-            kernel = Kernel((dim[1], dim[2]), a, geometry='disc')
-            start_time = time.clock()
-            phase_num_vort = pm.phase_mag(a, projection_vort, kernel=kernel)
-            data_vort_real_d[2, i] = time.clock() - start_time
-            print '------time (vortex, real disc) =', data_vort_real_d[2, i]
-            phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
-            data_vort_real_d[1, i] = np.sqrt(np.mean(phase_diff_vort**2))
+        print '----CALCULATE RMS/DURATION HOMOG. MAGN. DISC'
+        # Analytic solution:
+        phase_ana_disc = an.phase_mag_disc(dim, a, phi, center, radius, height)
+        # Fourier unpadded:
+        start_time = time.clock()
+        phase_num_disc = pm_fourier0(mag_data_disc)
+        data_disc_fourier0[2, i] = time.clock() - start_time
+        print '------time (disc, fourier0) =', data_disc_fourier0[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_fourier0[1, i] = np.sqrt(np.mean(phase_diff_disc.phase**2))
+        # Fourier padding 3:
+        start_time = time.clock()
+        phase_num_disc = pm_fourier3(mag_data_disc)
+        data_disc_fourier3[2, i] = time.clock() - start_time
+        print '------time (disc, fourier3) =', data_disc_fourier3[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_fourier3[1, i] = np.sqrt(np.mean(phase_diff_disc.phase**2))
+        # Fourier padding 10:
+        start_time = time.clock()
+        phase_num_disc = pm_fourier10(mag_data_disc)
+        data_disc_fourier10[2, i] = time.clock() - start_time
+        print '------time (disc, fourier10) =', data_disc_fourier10[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_fourier10[1, i] = np.sqrt(np.mean(phase_diff_disc.phase**2))
+        # Real space slab:
+        start_time = time.clock()
+        phase_num_disc = pm_slab(mag_data_disc)
+        data_disc_real_s[2, i] = time.clock() - start_time
+        print '------time (disc, real slab) =', data_disc_real_s[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_real_s[1, i] = np.sqrt(np.mean(phase_diff_disc.phase**2))
+        # Real space disc:
+        start_time = time.clock()
+        phase_num_disc = pm_disc(mag_data_disc)
+        data_disc_real_d[2, i] = time.clock() - start_time
+        print '------time (disc, real disc) =', data_disc_real_d[2, i]
+        phase_diff_disc = (phase_ana_disc-phase_num_disc) * 1E3  # in mrad -> *1000
+        data_disc_real_d[1, i] = np.sqrt(np.mean(phase_diff_disc.phase**2))
 
-        print '--SHELVE METHOD DATA'
-        data_shelve[key] = (data_disc_fourier0, data_vort_fourier0,
-                            data_disc_fourier3, data_vort_fourier3,
-                            data_disc_fourier10, data_vort_fourier10,
-                            data_disc_real_s, data_vort_real_s,
-                            data_disc_real_d, data_vort_real_d)
+        print '----CALCULATE RMS/DURATION HOMOG. MAGN. DISC'
+        # Analytic solution:
+        phase_ana_vort = an.phase_mag_vortex(dim, a, center, radius, height)
+        # Fourier unpadded:
+        start_time = time.clock()
+        phase_num_vort = pm_fourier0(mag_data_vort)
+        data_vort_fourier0[2, i] = time.clock() - start_time
+        print '------time (vortex, fourier0) =', data_vort_fourier0[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_fourier0[1, i] = np.sqrt(np.mean(phase_diff_vort.phase**2))
+        # Fourier padding 3:
+        start_time = time.clock()
+        phase_num_vort = pm_fourier3(mag_data_vort)
+        data_vort_fourier3[2, i] = time.clock() - start_time
+        print '------time (vortex, fourier3) =', data_vort_fourier3[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_fourier3[1, i] = np.sqrt(np.mean(phase_diff_vort.phase**2))
+        # Fourier padding 10:
+        start_time = time.clock()
+        phase_num_vort = pm_fourier10(mag_data_vort)
+        data_vort_fourier10[2, i] = time.clock() - start_time
+        print '------time (vortex, fourier10) =', data_vort_fourier10[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_fourier10[1, i] = np.sqrt(np.mean(phase_diff_vort.phase**2))
+        # Real space slab:
+        start_time = time.clock()
+        phase_num_vort = pm_slab(mag_data_vort)
+        data_vort_real_s[2, i] = time.clock() - start_time
+        print '------time (vortex, real slab) =', data_vort_real_s[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_real_s[1, i] = np.sqrt(np.mean(phase_diff_vort.phase**2))
+        # Real space disc:
+        start_time = time.clock()
+        phase_num_vort = pm_disc(mag_data_vort)
+        data_vort_real_d[2, i] = time.clock() - start_time
+        print '------time (vortex, real disc) =', data_vort_real_d[2, i]
+        phase_diff_vort = (phase_ana_vort-phase_num_vort) * 1E3  # in mrad -> *1000
+        data_vort_real_d[1, i] = np.sqrt(np.mean(phase_diff_vort.phase**2))
 
-    print '--PLOT/SAVE METHOD DATA'
+        # Scale down for next iteration:
+        mag_data_disc.scale_down()
+        mag_data_vort.scale_down()
 
-    # Plot using shared rows and colums:
-    fig, axes = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(12, 8))
-    fig.tight_layout(rect=(0.05, 0.05, 0.95, 0.95))
-    fig.suptitle('Method Comparison', fontsize=20)
+    print '--SHELVE METHOD DATA'
+    data_shelve[key] = (data_disc_fourier0, data_vort_fourier0,
+                        data_disc_fourier3, data_vort_fourier3,
+                        data_disc_fourier10, data_vort_fourier10,
+                        data_disc_real_s, data_vort_real_s,
+                        data_disc_real_d, data_vort_real_d)
 
-    # Plot duration against a (disc) [top/left]:
-    axes[1, 0].set_xscale('log')
-    axes[1, 0].set_yscale('log')
-    axes[1, 0].plot(data_disc_fourier0[0], data_disc_fourier0[1], ':bs')
-    axes[1, 0].plot(data_disc_fourier3[0], data_disc_fourier3[1], ':bo')
-    axes[1, 0].plot(data_disc_fourier10[0], data_disc_fourier10[1], ':b^')
-    axes[1, 0].plot(data_disc_real_s[0], data_disc_real_s[1], '--rs')
-    axes[1, 0].plot(data_disc_real_d[0], data_disc_real_d[1], '--ro')
-    axes[1, 0].set_xlabel('grid size [px]', fontsize=15)
-    axes[1, 0].set_ylabel('RMS [mrad]', fontsize=15)
-    axes[1, 0].set_xlim(12, 350)
-    axes[1, 0].tick_params(axis='both', which='major', labelsize=14)
-    axes[1, 0].xaxis.set_major_locator(LogLocator(base=2))
-    axes[1, 0].xaxis.set_major_formatter(LogFormatter(base=2))
-    axes[1, 0].xaxis.set_minor_locator(NullLocator())
-    axes[1, 0].grid()
+print '--PLOT/SAVE METHOD DATA'
 
-    # Plot RMS against a (disc) [bottom/left]:
-    plt.tick_params(axis='both', which='major', labelsize=14)
-    axes[0, 0].set_xscale('log')
-    axes[0, 0].set_yscale('log')
-    axes[0, 0].plot(data_disc_fourier0[0], data_disc_fourier0[2], ':bs')
-    axes[0, 0].plot(data_disc_fourier3[0], data_disc_fourier3[2], ':bo')
-    axes[0, 0].plot(data_disc_fourier10[0], data_disc_fourier10[2], ':b^')
-    axes[0, 0].plot(data_disc_real_s[0], data_disc_real_s[2], '--rs')
-    axes[0, 0].plot(data_disc_real_d[0], data_disc_real_d[2], '--ro')
-    axes[0, 0].set_title('Homog. magn. disc', fontsize=18)
-    axes[0, 0].set_ylabel('duration [s]', fontsize=15)
-    axes[0, 0].set_xlim(12, 350)
-    axes[0, 0].tick_params(axis='both', which='major', labelsize=14)
-    axes[0, 0].xaxis.set_major_locator(LogLocator(base=2))
-    axes[0, 0].xaxis.set_major_formatter(LogFormatter(base=2))
-    axes[0, 0].xaxis.set_minor_locator(NullLocator())
-    axes[0, 0].grid()
+# Plot using shared rows and colums:
+fig, axes = plt.subplots(2, 2, sharex='col', sharey='row', figsize=(12, 8))
+fig.tight_layout(rect=(0.05, 0.05, 0.95, 0.95))
+fig.suptitle('Method Comparison', fontsize=20)
 
-    # Plot duration against a (vortex) [top/right]:
-    axes[1, 1].set_xscale('log')
-    axes[1, 1].set_yscale('log')
-    axes[1, 1].plot(data_vort_fourier0[0], data_vort_fourier0[1], ':bs',
-                    label='Fourier padding=0')
-    axes[1, 1].plot(data_vort_fourier3[0], data_vort_fourier3[1], ':bo',
-                    label='Fourier padding=3')
-    axes[1, 1].plot(data_vort_fourier10[0], data_vort_fourier10[1], ':b^',
-                    label='Fourier padding=10')
-    axes[1, 1].plot(data_vort_real_s[0], data_vort_real_s[1], '--rs',
-                    label='Real space (slab)')
-    axes[1, 1].plot(data_vort_real_d[0], data_vort_real_d[1], '--ro',
-                    label='Real space (disc)')
-    axes[1, 1].set_xlabel('grid size [px]', fontsize=15)
-    axes[1, 1].set_xlim(12, 350)
-    axes[1, 1].tick_params(axis='both', which='major', labelsize=14)
-    axes[1, 1].xaxis.set_major_locator(LogLocator(base=2))
-    axes[1, 1].xaxis.set_major_formatter(LogFormatter(base=2))
-    axes[1, 1].xaxis.set_minor_locator(NullLocator())
-    axes[1, 1].grid()
+# Plot duration against a (disc) [top/left]:
+axes[1, 0].set_xscale('log')
+axes[1, 0].set_yscale('log')
+axes[1, 0].plot(data_disc_fourier0[0], data_disc_fourier0[1], ':bs')
+axes[1, 0].plot(data_disc_fourier3[0], data_disc_fourier3[1], ':bo')
+axes[1, 0].plot(data_disc_fourier10[0], data_disc_fourier10[1], ':b^')
+axes[1, 0].plot(data_disc_real_s[0], data_disc_real_s[1], '--rs')
+axes[1, 0].plot(data_disc_real_d[0], data_disc_real_d[1], '--ro')
+axes[1, 0].set_xlabel('grid size [px]', fontsize=15)
+axes[1, 0].set_ylabel('RMS [mrad]', fontsize=15)
+axes[1, 0].set_xlim(25, 350)
+axes[1, 0].tick_params(axis='both', which='major', labelsize=14)
+axes[1, 0].xaxis.set_major_locator(LogLocator(base=2))
+axes[1, 0].xaxis.set_major_formatter(LogFormatter(base=2))
+axes[1, 0].xaxis.set_minor_locator(NullLocator())
+axes[1, 0].grid()
 
-    # Plot RMS against a (vortex) [bottom/right]:
-    axes[0, 1].set_xscale('log')
-    axes[0, 1].set_yscale('log')
-    axes[0, 1].plot(data_vort_fourier0[0], data_vort_fourier0[2], ':bs',
-                    label='Fourier padding=0')
-    axes[0, 1].plot(data_vort_fourier3[0], data_vort_fourier3[2], ':bo',
-                    label='Fourier padding=3')
-    axes[0, 1].plot(data_vort_fourier10[0], data_vort_fourier10[2], ':b^',
-                    label='Fourier padding=10')
-    axes[0, 1].plot(data_vort_real_s[0], data_vort_real_s[2], '--rs',
-                    label='Real space (slab)')
-    axes[0, 1].plot(data_vort_real_d[0], data_vort_real_d[2], '--ro',
-                    label='Real space (disc)')
-    axes[0, 1].set_title('Vortex state disc', fontsize=18)
-    axes[0, 1].set_xlim(12, 350)
-    axes[0, 1].tick_params(axis='both', which='major', labelsize=14)
-    axes[0, 1].xaxis.set_major_locator(LogLocator(base=2))
-    axes[0, 1].xaxis.set_major_formatter(LogFormatter(base=2))
-    axes[0, 1].xaxis.set_minor_locator(NullLocator())
-    axes[0, 1].grid()
+# Plot RMS against a (disc) [bottom/left]:
+plt.tick_params(axis='both', which='major', labelsize=14)
+axes[0, 0].set_xscale('log')
+axes[0, 0].set_yscale('log')
+axes[0, 0].plot(data_disc_fourier0[0], data_disc_fourier0[2], ':bs')
+axes[0, 0].plot(data_disc_fourier3[0], data_disc_fourier3[2], ':bo')
+axes[0, 0].plot(data_disc_fourier10[0], data_disc_fourier10[2], ':b^')
+axes[0, 0].plot(data_disc_real_s[0], data_disc_real_s[2], '--rs')
+axes[0, 0].plot(data_disc_real_d[0], data_disc_real_d[2], '--ro')
+axes[0, 0].set_title('Homog. magn. disc', fontsize=18)
+axes[0, 0].set_ylabel('duration [s]', fontsize=15)
+axes[0, 0].set_xlim(25, 350)
+axes[0, 0].tick_params(axis='both', which='major', labelsize=14)
+axes[0, 0].xaxis.set_major_locator(LogLocator(base=2))
+axes[0, 0].xaxis.set_major_formatter(LogFormatter(base=2))
+axes[0, 0].xaxis.set_minor_locator(NullLocator())
+axes[0, 0].grid()
 
-    # Add legend:
-    axes[1, 1].legend(bbox_to_anchor=(0, 0, 0.955, 0.615), bbox_transform=fig.transFigure,
-                      prop={'size':12})
+# Plot duration against a (vortex) [top/right]:
+axes[1, 1].set_xscale('log')
+axes[1, 1].set_yscale('log')
+axes[1, 1].plot(data_vort_fourier0[0], data_vort_fourier0[1], ':bs',
+                label='Fourier padding=0')
+axes[1, 1].plot(data_vort_fourier3[0], data_vort_fourier3[1], ':bo',
+                label='Fourier padding=3')
+axes[1, 1].plot(data_vort_fourier10[0], data_vort_fourier10[1], ':b^',
+                label='Fourier padding=10')
+axes[1, 1].plot(data_vort_real_s[0], data_vort_real_s[1], '--rs',
+                label='Real space (slab)')
+axes[1, 1].plot(data_vort_real_d[0], data_vort_real_d[1], '--ro',
+                label='Real space (disc)')
+axes[1, 1].set_xlabel('grid size [px]', fontsize=15)
+axes[1, 1].set_xlim(25, 350)
+axes[1, 1].tick_params(axis='both', which='major', labelsize=14)
+axes[1, 1].xaxis.set_major_locator(LogLocator(base=2))
+axes[1, 1].xaxis.set_major_formatter(LogFormatter(base=2))
+axes[1, 1].xaxis.set_minor_locator(NullLocator())
+axes[1, 1].grid()
 
-    # Save figure as .png:
-    plt.show()
-    plt.figtext(0.12, 0.85, 'a)', fontsize=30)
-    plt.figtext(0.57, 0.85, 'b)', fontsize=30)
-    plt.figtext(0.12, 0.15, 'c)', fontsize=30)
-    plt.figtext(0.57, 0.15, 'd)', fontsize=30)
-    plt.savefig(directory + '/ch5-3-method comparison.png', bbox_inches='tight')
+# Plot RMS against a (vortex) [bottom/right]:
+axes[0, 1].set_xscale('log')
+axes[0, 1].set_yscale('log')
+axes[0, 1].plot(data_vort_fourier0[0], data_vort_fourier0[2], ':bs',
+                label='Fourier padding=0')
+axes[0, 1].plot(data_vort_fourier3[0], data_vort_fourier3[2], ':bo',
+                label='Fourier padding=3')
+axes[0, 1].plot(data_vort_fourier10[0], data_vort_fourier10[2], ':b^',
+                label='Fourier padding=10')
+axes[0, 1].plot(data_vort_real_s[0], data_vort_real_s[2], '--rs',
+                label='Real space (slab)')
+axes[0, 1].plot(data_vort_real_d[0], data_vort_real_d[2], '--ro',
+                label='Real space (disc)')
+axes[0, 1].set_title('Vortex state disc', fontsize=18)
+axes[0, 1].set_xlim(25, 350)
+axes[0, 1].tick_params(axis='both', which='major', labelsize=14)
+axes[0, 1].xaxis.set_major_locator(LogLocator(base=2))
+axes[0, 1].xaxis.set_major_formatter(LogFormatter(base=2))
+axes[0, 1].xaxis.set_minor_locator(NullLocator())
+axes[0, 1].grid()
 
-    ###############################################################################################
-    print 'CLOSING SHELVE\n'
-    # Close shelve:
-    data_shelve.close()
+# Add legend:
+axes[1, 1].legend(bbox_to_anchor=(0, 0, 0.955, 0.615), bbox_transform=fig.transFigure,
+                  prop={'size':12})
 
-    ###############################################################################################
+# Save figure as .png:
+plt.show()
+plt.figtext(0.12, 0.85, 'a)', fontsize=30)
+plt.figtext(0.57, 0.85, 'b)', fontsize=30)
+plt.figtext(0.12, 0.15, 'c)', fontsize=30)
+plt.figtext(0.57, 0.15, 'd)', fontsize=30)
+plt.savefig(directory + '/ch5-3-method comparison.png', bbox_inches='tight')
 
+###############################################################################################
+print 'CLOSING SHELVE\n'
+# Close shelve:
+data_shelve.close()
 
-if __name__ == "__main__":
-    try:
-        run()
-    except:
-        type, value, tb = sys.exc_info()
-        traceback.print_exc()
-        pdb.post_mortem(tb)
+###############################################################################################
diff --git a/scripts/paper 1/logfile.log b/scripts/paper 1/logfile.log
new file mode 100644
index 0000000..e8f8d21
--- /dev/null
+++ b/scripts/paper 1/logfile.log	
@@ -0,0 +1,85 @@
+2014-02-08 20:46:32: INFO     @ <pyramid.phasemap>:    Calling make_color_wheel
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Calling __init__
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Calling __init__
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Created <pyramid.projector.SimpleProjector object at 0x0A8519F0>
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Created <pyramid.projector.SimpleProjector object at 0x0A8519F0>
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Calling as function
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    mode == vector
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Calling _vector_field_projection
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __sub__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __neg__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __add__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Adding two PhaseMap objects
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling display_phase
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Calling as function
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    mode == vector
+2014-02-08 20:46:43: INFO     @ <pyramid.projector>:    Calling _vector_field_projection
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __sub__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __neg__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __add__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Adding two PhaseMap objects
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __isub__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __sub__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __add__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Adding an offset
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:43: INFO     @ <pyramid.phasemap>:    Calling display_phase
+2014-02-08 20:46:44: INFO     @ <pyramid.projector>:    Calling as function
+2014-02-08 20:46:44: INFO     @ <pyramid.projector>:    mode == vector
+2014-02-08 20:46:44: INFO     @ <pyramid.projector>:    Calling _vector_field_projection
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling __sub__
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling __neg__
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling __add__
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Adding two PhaseMap objects
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:44: INFO     @ <pyramid.phasemap>:    Calling display_phase
+2014-02-08 20:46:45: INFO     @ <pyramid.projector>:    Calling as function
+2014-02-08 20:46:45: INFO     @ <pyramid.projector>:    mode == vector
+2014-02-08 20:46:45: INFO     @ <pyramid.projector>:    Calling _vector_field_projection
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __sub__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __neg__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __add__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Adding two PhaseMap objects
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __isub__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __sub__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __add__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Adding an offset
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:45: INFO     @ <pyramid.phasemap>:    Calling display_phase
+2014-02-08 20:46:47: INFO     @ <pyramid.projector>:    Calling __init__
+2014-02-08 20:46:47: INFO     @ <pyramid.projector>:    Calling __init__
+2014-02-08 20:46:47: INFO     @ <pyramid.projector>:    Created <pyramid.projector.SimpleProjector object at 0x0B117190>
+2014-02-08 20:46:47: INFO     @ <pyramid.projector>:    Created <pyramid.projector.SimpleProjector object at 0x0B117190>
+2014-02-08 20:46:47: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:47: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
+2014-02-08 20:46:47: INFO     @ <pyramid.phasemap>:    Calling __str__
+2014-02-08 20:46:47: INFO     @ <pyramid.phasemap>:    Created PhaseMap(a=1.0, dim=(128, 128))
diff --git a/scripts/simple_phasemapping.py b/scripts/simple_phasemapping.py
new file mode 100644
index 0000000..80c6737
--- /dev/null
+++ b/scripts/simple_phasemapping.py
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jan 17 14:06:01 2014
+
+@author: Jan
+"""
+
+
+from pyramid.magdata import MagData
+from pyramid.projector import SimpleProjector
+from pyramid.phasemapper import PMAdapterFM, PMConvolve, PMFourier, PMReal
+
+from time import clock
+
+#import cProfile
+
+
+mag_data = MagData.load_from_netcdf4('../output/vtk data/rect_500x125x3.nc')
+
+projector = SimpleProjector(mag_data.dim)
+
+start = clock()
+pm_adapter = PMAdapterFM(mag_data.a, projector)
+pm_convolve = PMConvolve(mag_data.a, projector)
+pm_fourier = PMFourier(mag_data.a, projector, padding=3)
+pm_real = PMReal(mag_data.a, projector)
+print 'Overhead  :', clock()-start
+
+#cProfile.run('phasemapper(mag_data)')#, filename='../output/profile.profile')
+
+start = clock()
+pm_adapter(mag_data)
+print 'Adapter FM:', clock()-start
+start = clock()
+pm_convolve(mag_data)
+print 'Convolve  :', clock()-start
+start = clock()
+pm_fourier(mag_data)
+print 'Fourier   :', clock()-start
+start = clock()
+pm_real(mag_data)
+print 'Real      :', clock()-start
+
+phase_map = pm_convolve(mag_data)
+
+(-phase_map).display_combined(density=16)
+
+
+
+
+
+##from xml.etree import ElementTree
+#from cProfile import Profile
+##xml_content = '<a>\n' + '\t<b/><c><d>text</d></c>\n' * 100 + '</a>'
+#profiler = Profile()
+##profiler.runctx("ElementTree.fromstring(xml_content)", locals(), globals())
+#profiler.run('phasemapper(mag_data)')
+#
+#import pyprof2calltree
+#from pyprof2calltree import convert, visualize
+#
+#pyprof2calltree.visualize(profiler.getstats())                            # run kcachegrind
+#pyprof2calltree.convert(profiler.getstats(), 'profiling_results.kgrind')  # save for later
\ No newline at end of file
diff --git a/scripts/vtk-interpolation.py b/scripts/vtk-interpolation.py
deleted file mode 100644
index 24bbaa6..0000000
--- a/scripts/vtk-interpolation.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Tue Jan 14 10:06:42 2014
-
-@author: Jan
-"""
-
-import vtk
-
-reader = vtk.vtkDataSetReader()
-
-reader.SetFileName('test.vtk')
-
-reader.ReadAllScalarsOn()
-
-reader.Update()
-
-output = reader.GetOutput()
-scalar_range = output.GetScalarRange()
- 
-# Create the mapper that corresponds the objects of the vtk file into graphics elements
-mapper = vtk.vtkDataSetMapper()
-mapper.SetInput(output)
-mapper.SetScalarRange(scalar_range)
- 
-# Create the Actor
-actor = vtk.vtkActor()
-actor.SetMapper(mapper)
- 
-# Create the Renderer
-renderer = vtk.vtkRenderer()
-renderer.AddActor(actor)
-renderer.SetBackground(1, 1, 1) # Set background to white
- 
-# Create the RendererWindow
-renderer_window = vtk.vtkRenderWindow()
-renderer_window.AddRenderer(renderer)
- 
-# Create the RendererWindowInteractor and display the vtk_file
-interactor = vtk.vtkRenderWindowInteractor()
-interactor.SetRenderWindow(renderer_window)
-interactor.Initialize()
-interactor.Start()
-
-
-
-
-
-print reader.GetHeader()
-
-print 'Points:', output.GetNumberOfPoints()
-print 'Cells: ', output.GetNumberOfCells()
-#print 'Polys: ', output.GetNumberOfPolys()
-#print 'Lines: ', output.GetNumberOfLines()
-#print 'Strips:', output.GetNumberOfStrips()
-#print 'Piece: ', output.GetNumberOfPiece()
-#print 'Verts: ', output.GetNumberOfVerts()
-
-points = output.GetPoints()
-
-print output.GetPoint(0)
diff --git a/scripts/vtk_conversion.py b/scripts/vtk_conversion.py
new file mode 100644
index 0000000..bbbb506
--- /dev/null
+++ b/scripts/vtk_conversion.py
@@ -0,0 +1,159 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jan 24 11:17:11 2014
+
+@author: Jan
+"""
+
+
+import numpy as np
+import vtk
+import logging
+import os
+import sys
+import pickle
+from tqdm import tqdm
+from pyramid.magdata import MagData
+import matplotlib.pyplot as plt
+from pylab import griddata
+from pyramid.projector import SimpleProjector
+from pyramid.phasemapper import PMAdapterFM
+
+###################################################################################################
+PATH = '../output/vtk data/tube_90x30x50_sat_edge_equil.gmr'
+b_0 = 1.54
+gain = 12
+force_calculation = False
+###################################################################################################
+
+logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s', stream=sys.stdout)
+log = logging.getLogger(__name__)
+
+if force_calculation or not os.path.exists(PATH+'.pickle'):
+    log.info('Reading data from vtk-file')
+    # Setting up reader:
+    reader = vtk.vtkDataSetReader()
+    reader.SetFileName(PATH+'.vtk')
+    reader.ReadAllScalarsOn()
+    reader.ReadAllVectorsOn()
+    reader.Update()
+    # Getting output:
+    output = reader.GetOutput()
+    # Reading points and vectors:
+    size = output.GetNumberOfPoints()
+    vtk_points = output.GetPoints().GetData()
+    vtk_vectors = output.GetPointData().GetVectors()
+    # Converting points to numpy array:
+    point_array = np.zeros(vtk_points.GetSize())
+    vtk_points.ExportToVoidPointer(point_array)
+    point_array = np.reshape(point_array, (-1, 3))
+    # Converting vectors to numpy array:
+    vector_array = np.zeros(vtk_points.GetSize())
+    vtk_vectors.ExportToVoidPointer(vector_array)
+    vector_array = np.reshape(vector_array, (-1, 3))
+    # Combining data:
+    data = np.hstack((point_array, vector_array))
+    log.info('Data reading complete!')
+    log.info('Pickling data!')
+    with open(PATH+'.pickle', 'w') as pf:
+        pickle.dump(data, pf)
+    log.info('Pickling complete!')
+else:
+    log.info('Loading pickled data!')
+    with open(PATH+'.pickle') as pf:
+        data = pickle.load(pf)
+    log.info('Loading complete!')
+# Scatter plot of all x-y-coordinates
+axis = plt.figure().add_subplot(1, 1, 1)
+axis.scatter(data[:, 0], data[:, 1])
+plt.show()
+
+if force_calculation or not os.path.exists(PATH+'.nc'):
+    log.info('Arranging data in z-slices!')
+    # Find unique z-slices:
+    zs =  np.unique(data[:, 2])
+    # Determine the grid spacing:
+    a = zs[1] - zs[0]
+    # Determine the size of object:
+    x_min, x_max = data[:, 0].min(), data[:, 0].max()
+    y_min, y_max = data[:, 1].min(), data[:, 1].max()
+    z_min, z_max = data[:, 2].min(), data[:, 2].max()
+    x_diff, y_diff, z_diff = np.ptp(data[:, 0]), np.ptp(data[:, 1]), np.ptp(data[:, 2])
+    x_cent, y_cent, z_cent = x_min+x_diff/2., y_min+y_diff/2., z_min+z_diff/2.
+    # Create regular grid
+    xs = np.arange(x_cent-x_diff, x_cent+x_diff, a)    #linspace(-8.5*2, 8.5*2, 256)
+    ys = np.arange(y_cent-y_diff, y_cent+y_diff, a)    #linspace(-9.5*2, 9.5*2, 256)
+    o, p = np.meshgrid(xs, ys)
+    # Create empty magnitude:
+    magnitude = np.zeros((3, len(zs), len(ys), len(xs)))
+    
+    # WITH MASKING OF THE CENTER (SYMMETRIC):
+    iz_x = np.concatenate([np.linspace(-4.95, -4.95, 50),
+                           np.linspace(-4.95, 0, 50),
+                           np.linspace(0, 4.95, 50),
+                           np.linspace(4.95, 4.95, 50),
+                           np.linspace(-4.95, 0, 50),
+                           np.linspace(0, 4.95, 50),])
+    iz_y = np.concatenate([np.linspace(-2.88, 2.88, 50),
+                           np.linspace(2.88, 5.7, 50),
+                           np.linspace(5.7, 2.88, 50),
+                           np.linspace(2.88, -2.88, 50),
+                           np.linspace(-2.88, -5.7, 50),
+                           np.linspace(-5.7, -2.88, 50), ])
+    for i, z in tqdm(enumerate(zs), total=len(zs)):
+        subdata = data[data[:, 2] == z, :]
+        for j in range(3):  # For all 3 components!
+            gridded_subdata = griddata(np.concatenate([subdata[:, 0], iz_x]),
+                                       np.concatenate([subdata[:, 1], iz_y]), 
+                                       np.concatenate([subdata[:, 3 + j], np.zeros(len(iz_x))]),
+                                       o, p)
+            magnitude[j, i, :, :] = gridded_subdata.filled(fill_value=0)
+
+#    # WITH MASKING OF THE CENTER (ASYMMETRIC):
+#    iz_x = np.concatenate([np.linspace(-5.88, -5.88, 50),
+#                           np.linspace(-5.88, 0, 50),
+#                            np.linspace(0, 5.88, 50),
+#                            np.linspace(5.88, 5.88, 50),
+#                            np.linspace(5.88, 0, 50),
+#                            np.linspace(0, -5.88, 50),])
+#    iz_y = np.concatenate([np.linspace(-2.10, 4.50, 50),
+#                           np.linspace(4.50, 7.90, 50),
+#                            np.linspace(7.90, 4.50, 50),
+#                            np.linspace(4.50, -2.10, 50),
+#                            np.linspace(-2.10, -5.50, 50),
+#                            np.linspace(-5.50, -2.10, 50), ])
+#    for i, z in tqdm(enumerate(zs), total=len(zs)):
+#        subdata = data[data[:, 2] == z, :]
+#        for j in range(3):  # For all 3 components!
+#            gridded_subdata = griddata(np.concatenate([subdata[:, 0], iz_x]),
+#                                       np.concatenate([subdata[:, 1], iz_y]), 
+#                                       np.concatenate([subdata[:, 3 + j], np.zeros(len(iz_x))]),
+#                                       o, p)
+#            magnitude[j, i, :, :] = gridded_subdata.filled(fill_value=0)
+    
+#    # WITHOUT MASKING OF THE CENTER:
+#    for i, z in tqdm(enumerate(zs), total=len(zs)):
+#        subdata = data[data[:, 2] == z, :]
+#        for j in range(3):  # For all 3 components!
+#            gridded_subdata = griddata(subdata[:, 0], subdata[:, 1], subdata[:, 3 + j], o, p)
+#            magnitude[j, i, :, :] = gridded_subdata.filled(fill_value=0)
+
+    # Creating MagData object:
+    mag_data = MagData(0.2*10, magnitude)
+    mag_data.save_to_netcdf4(PATH+'.nc')
+    log.info('MagData created!')
+else:
+    log.info('Loading MagData!')
+    mag_data = MagData.load_from_netcdf4(PATH+'.nc')
+    log.info('Loading complete!')
+mag_data.quiver_plot()
+
+projector = SimpleProjector(mag_data.dim)
+phasemapper = PMAdapterFM(mag_data.a, projector)
+phase_map = phasemapper(mag_data)
+(-phase_map).display_combined(title=r'Combined Plot (B$_0$={} T, Cos x {})'.format(b_0, gain),
+                              density=gain)
+plt.savefig(PATH+'_{}T_cosx{}.png'.format(b_0, gain))
+(-phase_map).display_combined(title=r'Combined Plot (B$_0$={} T, Cos x {})'.format(b_0, gain),
+                              density=gain, interpolation='bilinear')
+plt.savefig(PATH+'_{}T_cosx{}_smooth.png'.format(b_0, gain))
diff --git a/scripts/vtk_interpolation.py b/scripts/vtk_interpolation.py
new file mode 100644
index 0000000..3fea093
--- /dev/null
+++ b/scripts/vtk_interpolation.py
@@ -0,0 +1,73 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Fri Jan 17 13:09:08 2014
+
+@author: Jan
+"""
+
+from pylab import *
+import pickle
+from tqdm import tqdm
+from pyramid.magdata import MagData
+
+with open("vtk_to_numpy.pickle") as pf:
+    data = pickle.load(pf)
+zs =  unique(data[:,2])
+
+axis = plt.figure().add_subplot(1, 1, 1)
+axis.scatter(data[:, 0], data[:, 1])
+plt.show()
+
+# # regular grid
+xs = linspace(-8.5*2, 8.5*2, 256)
+ys = linspace(-9.5*2, 9.5*2, 256)
+
+o, p = meshgrid(xs, ys)
+
+newdata = zeros((len(xs), len(ys), len(zs), data.shape[1] - 3))
+
+
+## WITH MASKING OF THE CENTER:
+#
+#iz_x = concatenate([linspace(-4.95, -4.95, 50),
+#                    linspace(-4.95, 0, 50),
+#                    linspace(0, 4.95, 50),
+#                    linspace(4.95, 4.95, 50),
+#                    linspace(-4.95, 0, 50),
+#                    linspace(0, 4.95, 50),])
+#iz_y = concatenate([linspace(-2.88,  2.88, 50),
+#                    linspace(2.88,  5.7, 50),
+#                    linspace(5.7,  2.88, 50),
+#                    linspace(2.88, -2.88, 50),
+#                    linspace(-2.88,  -5.7, 50),
+#                    linspace(-5.7,  -2.88, 50), ])
+#
+#
+#for i, z in tqdm(enumerate(zs), total=len(zs)):
+#    subdata = data[data[:, 2] == z, :]
+#
+#    for j in range(newdata.shape[-1]):
+#        gridded_subdata = griddata(concatenate([subdata[:, 0], iz_x]),
+#        concatenate([subdata[:, 1], iz_y]), concatenate([subdata[:, 3 + j],
+#        zeros(len(iz_x))]), o, p)
+#        newdata[:, :, i, j] = gridded_subdata.filled(fill_value=0)
+
+
+# WITHOUT MASKING OF THE CENTER:
+
+
+for i, z in tqdm(enumerate(zs), total=len(zs)):
+    subdata = data[data[:, 2] == z, :]
+
+    for j in range(3):  # For all 3 components!
+        gridded_subdata = griddata(subdata[:, 0], subdata[:, 1], subdata[:, 3 + j], o, p)
+        newdata[:, :, i, j] = gridded_subdata.filled(fill_value=0)
+
+
+magnitude = newdata.swapaxes(0,3).swapaxes(1,2).swapaxes(2,3)
+
+mag_data = MagData(1., magnitude)
+
+mag_data.quiver_plot()
+
+mag_data.save_to_netcdf4('vtk_mag_data.nc')
diff --git a/scripts/vtk_to_numpy.py b/scripts/vtk_to_numpy.py
new file mode 100644
index 0000000..0e88286
--- /dev/null
+++ b/scripts/vtk_to_numpy.py
@@ -0,0 +1,74 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Tue Jan 14 10:06:42 2014
+
+@author: Jan
+"""
+
+
+import numpy as np
+import vtk
+#import netCDF4
+import logging
+import sys
+
+import pickle
+
+logging.basicConfig(level=logging.INFO, format='%(levelname)s: %(message)s', stream=sys.stdout)
+log = logging.getLogger(__name__)
+
+reader = vtk.vtkDataSetReader()
+reader.SetFileName('irect_500x125x3.vtk')
+reader.ReadAllScalarsOn()
+reader.ReadAllVectorsOn()
+reader.Update()
+
+output = reader.GetOutput()
+size = output.GetNumberOfPoints()
+
+vtk_points = output.GetPoints().GetData()
+vtk_vectors = output.GetPointData().GetVectors()
+
+point_array = np.zeros(vtk_points.GetSize())
+vtk_points.ExportToVoidPointer(point_array)
+point_array = np.reshape(point_array, (-1, 3))
+
+vector_array = np.zeros(vtk_points.GetSize())
+vtk_vectors.ExportToVoidPointer(vector_array)
+vector_array = np.reshape(vector_array, (-1, 3))
+
+data = np.hstack((point_array, vector_array))
+
+log.info('Data reading complete!')
+
+#magfile = netCDF4.Dataset('tube_90x30x30.nc', 'w', format='NETCDF3_64BIT')
+#magfile.createDimension('comp', 6)  # Number of components
+#magfile.createDimension('size', size)
+#
+#x = magfile.createVariable('x', 'f8', ('size'))
+#y = magfile.createVariable('y', 'f8', ('size'))
+#z = magfile.createVariable('z', 'f8', ('size'))
+#x_mag = magfile.createVariable('x_mag', 'f8', ('size'))
+#y_mag = magfile.createVariable('y_mag', 'f8', ('size'))
+#z_mag = magfile.createVariable('z_mag', 'f8', ('size'))
+#
+#log.info('Start saving data separately!')
+#x = data[:, 0]
+#y = data[:, 1]
+#z = data[:, 2]
+#x_mag = data[:, 3]
+#y_mag = data[:, 4]
+#z_mag = data[:, 5]
+#log.info('Separate saving complete!')
+#
+#log.info('Try saving the whole array!')
+#filedata = magfile.createVariable('data', 'f8', ('size', 'comp'))
+#filedata[:, :] = data
+#log.info('Saving complete!')
+#
+#magfile.close()
+
+log.info('Pickling data!')
+with open('vtk_to_numpy.pickle', 'w') as pf:
+    pickle.dump(data, pf)
+log.info('Pickling complete!')
diff --git a/setup.py b/setup.py
index 9d9a4ea..42a2f15 100644
--- a/setup.py
+++ b/setup.py
@@ -67,7 +67,7 @@ setup(
 
       ext_package = 'pyramid/numcore',
       ext_modules = [
-          Extension('phase_mag_real', ['pyramid/numcore/phase_mag_real.pyx'],
+          Extension('kernel_core', ['pyramid/numcore/kernel_core.pyx'],
                     include_dirs = [numpy.get_include(), numpy.get_numarray_include()],
                     extra_compile_args=['-march=native', '-mtune=native']
                     )
diff --git a/tests/test_costfunction.py b/tests/test_costfunction.py
new file mode 100644
index 0000000..0d06db5
--- /dev/null
+++ b/tests/test_costfunction.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jan 20 20:01:25 2014
+
+@author: Jan
+"""
+
diff --git a/tests/test_datacollection.py b/tests/test_datacollection.py
new file mode 100644
index 0000000..ebe2322
--- /dev/null
+++ b/tests/test_datacollection.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jan 20 19:58:01 2014
+
+@author: Jan
+"""
+
diff --git a/tests/test_forwardmodel.py b/tests/test_forwardmodel.py
new file mode 100644
index 0000000..5bd1ef1
--- /dev/null
+++ b/tests/test_forwardmodel.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jan 20 20:01:13 2014
+
+@author: Jan
+"""
+
diff --git a/tests/test_holoimage.py b/tests/test_holoimage.py
deleted file mode 100644
index 2680ef1..0000000
--- a/tests/test_holoimage.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- coding: utf-8 -*-
-"""Testcase for the holoimage module."""
-
-
-import os
-import unittest
-import numpy as np
-from numpy import pi
-
-from pyramid.phasemap import PhaseMap
-import pyramid.holoimage as hi
-
-
-class TestCaseHoloImage(unittest.TestCase):
-
-    def setUp(self):
-        self.path = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'test_holoimage')
-        phase = np.zeros((4, 4))
-        phase[1:-1, 1:-1] = pi/4
-        self.phase_map = PhaseMap(10.0, phase)
-
-    def tearDown(self):
-        self.path = None
-        self.phase_map = None
-
-    def test_holo_image(self):
-        img = hi.holo_image(self.phase_map)
-        arr = np.array(img.getdata(), np.uint8).reshape(img.size[1], img.size[0], 3)
-        holo_img_r, holo_img_g, holo_img_b = arr[..., 0], arr[..., 1], arr[..., 2]
-        ref_holo_img_r = np.loadtxt(os.path.join(self.path, 'ref_holo_img_r.txt'))
-        ref_holo_img_g = np.loadtxt(os.path.join(self.path, 'ref_holo_img_g.txt'))
-        ref_holo_img_b = np.loadtxt(os.path.join(self.path, 'ref_holo_img_b.txt'))
-        hi.display(img)
-        np.testing.assert_equal(holo_img_r, ref_holo_img_r,
-                                'Unexpected behavior in holo_image() (r-component)!')
-        np.testing.assert_equal(holo_img_g, ref_holo_img_g,
-                                'Unexpected behavior in holo_image() (g-component)!')
-        np.testing.assert_equal(holo_img_b, ref_holo_img_b,
-                                'Unexpected behavior in holo_image() (b-component)!')
-
-
-if __name__ == '__main__':
-    suite = unittest.TestLoader().loadTestsFromTestCase(TestCaseHoloImage)
-    unittest.TextTestRunner(verbosity=2).run(suite)
diff --git a/tests/test_holoimage/ref_holo_img_b.txt b/tests/test_holoimage/ref_holo_img_b.txt
deleted file mode 100644
index fe1fcf2..0000000
--- a/tests/test_holoimage/ref_holo_img_b.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
-0.000000000000000000e+00 0.000000000000000000e+00 9.700000000000000000e+01 2.550000000000000000e+02
-0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+02 2.550000000000000000e+02
-0.000000000000000000e+00 3.000000000000000000e+00 3.000000000000000000e+00 0.000000000000000000e+00
diff --git a/tests/test_holoimage/ref_holo_img_g.txt b/tests/test_holoimage/ref_holo_img_g.txt
deleted file mode 100644
index a4a674d..0000000
--- a/tests/test_holoimage/ref_holo_img_g.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 0.000000000000000000e+00
-2.550000000000000000e+02 9.900000000000000000e+01 0.000000000000000000e+00 0.000000000000000000e+00
-2.550000000000000000e+02 1.950000000000000000e+02 9.500000000000000000e+01 0.000000000000000000e+00
-0.000000000000000000e+00 2.520000000000000000e+02 2.520000000000000000e+02 0.000000000000000000e+00
diff --git a/tests/test_holoimage/ref_holo_img_r.txt b/tests/test_holoimage/ref_holo_img_r.txt
deleted file mode 100644
index 7373e5e..0000000
--- a/tests/test_holoimage/ref_holo_img_r.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-0.000000000000000000e+00 2.550000000000000000e+02 2.550000000000000000e+02 0.000000000000000000e+00
-2.530000000000000000e+02 1.950000000000000000e+02 9.800000000000000000e+01 0.000000000000000000e+00
-2.530000000000000000e+02 9.500000000000000000e+01 0.000000000000000000e+00 0.000000000000000000e+00
-0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00 0.000000000000000000e+00
diff --git a/tests/test_kernel.py b/tests/test_kernel.py
new file mode 100644
index 0000000..b4fa9e4
--- /dev/null
+++ b/tests/test_kernel.py
@@ -0,0 +1,7 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jan 20 20:00:50 2014
+
+@author: Jan
+"""
+
diff --git a/tests/test_reconstructor.py b/tests/test_optimize.py
similarity index 100%
rename from tests/test_reconstructor.py
rename to tests/test_optimize.py
-- 
GitLab