Skip to content
Snippets Groups Projects
Forked from empyre / empyre
349 commits behind the upstream repository.
  • Jan Caron's avatar
    42f8bc5f
    Smaller changes, cleanup and script structure changes! · 42f8bc5f
    Jan Caron authored
    Phase maps now also have a mask and a confidence matrix.
    Began new script structure (temporary folders created).
    Cleanup, logging and documentation done.
    config: NTHREADS is now set here.
    dataset: Method for creating 3D masks added.
    phasemap: Mask and confidence matrix added. Padding and cropping supported.
    forwardmodel: Stubs for multiprocessing added (next TODO!).
    kernel: Added support for perturbed reference wave.
    magdata: Padding and cropping supported.
    projector: New property 'sparsity' introduced.
    regularisator: Stub for ComboRegularisator added (next TODO!).
    tests: Changed accordingly.
    42f8bc5f
    History
    Smaller changes, cleanup and script structure changes!
    Jan Caron authored
    Phase maps now also have a mask and a confidence matrix.
    Began new script structure (temporary folders created).
    Cleanup, logging and documentation done.
    config: NTHREADS is now set here.
    dataset: Method for creating 3D masks added.
    phasemap: Mask and confidence matrix added. Padding and cropping supported.
    forwardmodel: Stubs for multiprocessing added (next TODO!).
    kernel: Added support for perturbed reference wave.
    magdata: Padding and cropping supported.
    projector: New property 'sparsity' introduced.
    regularisator: Stub for ComboRegularisator added (next TODO!).
    tests: Changed accordingly.
phasemap_from_dm3.py 1.30 KiB
# -*- coding: utf-8 -*-
"""Create magnetization distributions from DM3 (Digital Micrograph 3) files."""


import os
import numpy as np
from pyDM3reader import DM3lib as dm3
import pyramid as py
import logging.config


logging.config.fileConfig(py.LOGGING_CONFIG, disable_existing_loggers=False)

###################################################################################################
path_mag = 'zi_an_magnetite_2_particles_magnetic.dm3'
path_ele = 'zi_an_magnetite_2_particles_electric.dm3'
filename = 'phasemap_dm3_zi_an_magnetite_2_particles.nc'
a = 1.
dim_uv = None
threshold = 2
offset = 0.23280109
###################################################################################################

# Load images:
im_mag = dm3.DM3(os.path.join(py.DIR_FILES, 'dm3', path_mag)).image
im_ele = dm3.DM3(os.path.join(py.DIR_FILES, 'dm3', path_ele)).image
if dim_uv is not None:
    im_mag = im_mag.resize(dim_uv)
    im_ele = im_ele.resize(dim_uv)
# Calculate phase and mask:
phase = np.asarray(im_mag) - offset
mask = np.where(np.asarray(im_ele) >= threshold, True, False)

# Create and save PhaseMap object:
phase_map = py.PhaseMap(a, phase, mask, confidence=None, unit='rad')
phase_map.save_to_netcdf4(os.path.join(py.DIR_FILES, 'phasemap', filename))
phase_map.display_combined()