Skip to main content

Dig, short for diagnostic, is used to help acquire diagnostic data from MDSplus.

Project description

dig

Structure

  • dig, python package folder
  • notebooks, python notebook folder to demonstrate how can we use dig

Install

Prequisite:

  • MDSplus
  • We do not support Anaconda. Use virtualenv instead if you don't want to mess up your system built-in python environment.
# for clients
pip install dig-mhd 

# for developers
cd /to-somewhere-you-want-to-clone-the-repo
git clone https://github.com/WenyinWei/dig.git
cd dig # (not dig/dig)
pip install -e . # "-e" means editable

Add mhd_settings.ini (you can find a template at this repo) to you application data path, e.g.

  • C:\Users\<your-user-name>\mhd\mhd_settings.ini for Windows,
  • /home/<your-user-name>/.mhd/mhd_settings.ini for Debian systems like Ubuntu.

Parameters are stored in this .ini file and you need to check and modify some of them. Having configuring the .ini file in a right way, the following import should be successful.

import dig 

Use Python in Matlab

Common Data Format

*.npy, *.npz file formats are common in python/numpy community; while *.mat file format is common in matlab community. Matlab has professional documents to demonstrate how to use Python from Matlab and vice.

from scipy.io import loadmat
annots = loadmat('*.mat')
% In Matlab, npy-matlab module could help you read and write npy format files, https://github.com/kwikteam/npy-matlab
a = rand(5,4,3);
writeNPY(a, 'a.npy');
b = readNPY('a.npy');
% In Matlab, configure Python environment https://ww2.mathworks.cn/help/matlab/ref/pyenv.html
pyenv % 返回当前默认的 Python 环境
pyenv('Version', 3.8) % 寻找当前电脑上的对应版本的 Python 环境
pyenv('Version', path-to-your-python-executable) % 寻找当前电脑上的对应路径的 Python 环境

if count(py.sys.path,'path-to-your-package') == 0
    insert(py.sys.path,int32(0),'path-to-your-package');
end

py.importlib.import_module('dig')
py.importlib.reload('dig')
returned_tuple = py.dig.utilvar.get_EAST_EFIT_BR_BZ_Bt(shotnum, py.list({tpoint1, tpoint2, ...}));
R = returned_tuple{1};
Z = returned_tuple{2};
tpoints = returned_tuple{3};
BRs = returned_tuple{4};
BZs = returned_tuple{5};
Bts = returned_tuple{6};
# Rewrite all npy files in mat format, https://ww2.mathworks.cn/matlabcentral/answers/444998-how-do-read-npy-files-in-matlab#answer_624742
from scipy.io import savemat
import numpy as np
import glob
import os

npzFiles = glob.glob("*.npz")
for f in npzFiles:
    fm = os.path.splitext(f)[0]+'.mat'
    d = np.load(f)
    savemat(fm, d)
    print('generated ', fm, 'from', f)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dig-mhd-0.0.1.tar.gz (17.9 kB view hashes)

Uploaded Source

Built Distribution

dig_mhd-0.0.1-py3-none-any.whl (18.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page