Data wrangling & common calculations for results from qMem measurement software

Overview

qMem Datawrangler

This script processes output of qMem measurement software into an Origin ® compatible *.csv files and matplotlib graphs to quickly visualy analyze data. Odd and even sweep numbers are treated seperately to account for hysteretic or memristive effects.

It also performs the following calculations:

  • Absolute values of current / current density (for semi-log plots)
  • Memory window (the ratio between the absolute values of odd and even sweeps)
  • Differential resistance
  • Fowler-Nordheim with variable exponent
  • Normalized differential resistance (NDR)
  • Statistics on all measured and calculated data (min, max, avg)

Parameters

Calculations made and plots generated by this script are controlled via the config.ini file within the same folder as the main script. The following Parameters can be set:

section parameter type explanation
Directory home_directory Bool The directory where all folders with data can be found.\Will automatically change to last one used and leaving it empty will set it to root
Parameters filter string The column that is evaluated from the file. Could be "Current [A]" or "Current Density"
Parameters resistance_slice double The value at which the differential resistance calculation is displayed
Parameters resistance_range double The size of the window used to perform linear fits of data to to calculate the differential resistance
Parameters mem_method string The method of how the memory window is calculated. Either "divide" if currents have to be devided (standard method) ord "substract" if currents should be subtracted.
Parameters start_index integer The first sweep that is used for calculations. "2" ignores the first sweep that often shows "burn-in" effects
Calculate absolute bool Parameter that sets whether or not the absolute value of currents is calculated (required "True" for semi-log plots, "False" for further Tunneling model processing)
Calculate stats bool Parameter that sets whether or not the sweep-to-sweep statistics are calculated.
Calculate fowler-nordheim bool Parameter that sets whether or not fowler_nordheim calculations should be performed (i.e. a dataset with ln(J/V)^2 vs J/V)
Calculate memory_window bool Parameter that sets whether or not the memory window should be calculated
Calculate differential_resistance bool Parameter that sets whether or not the normalized differential resistance should be calculated
Plot currents bool Parameter that sets whether or not I-V or J-V Data from all sweeps should be plotted
Plot stats bool Parameter that sets whether or not I-V or J-V min,max and average Data should be plotted
Plot currents bool Parameter that sets whether or not Fowler Nordheim Plots should be generated.
Plot currents bool Parameter that sets whether or not the memory window vs voltage plots should be generated.
Plot currents bool Parameter that sets whether or not the differential resistance vs voltage plots should be generated
Plot currents bool Parameter that sets whether or not the resistance slice and resulting fit should be displayed

Files Generated

After processing, csv files are generated and suffixes according to their content are added:

  • *_header: The header extracted from the measurement file - including all measurement parameters (e.g. step size, operator, material ID, ..)
  • *_all: File with all sweeps or *_stats: File with only the statistical analysis of all sweeps
  • *-abs: indicating that only absolute J or I values are recorded
  • *_Current _[A] or _Current-density: Indicating either current or current density within the file
  • *_fn: Results from Fowler Nordheim calculations (including V-->1/V at x-Position)
  • *_mwindow _ {method} where {method} is either "divide" or "subtract"
Owner
Julian
Julian
Telegram bot to search quotes from brainyquote.com

Brainy Quote Bot @BrainQuoteBot A star ⭐ from you means a lot to us! Telegram bot to search quotes from brainyquote.com Usage Deploy to Heroku Tap on

21 Nov 24, 2022
In this project, we'll be creating a virtual personal assistant for ourselves using our favorite programming language

In this project, we'll be creating a virtual personal assistant for ourselves using our favorite programming language, Python. We can perform several offline as well as online operations using the bo

Ashutosh Krishna 188 Jan 03, 2023
A rough GSL work DynSAGE of my graduation project

DynSAGE Codes w.r.t DynSAGE-Diffuse can be found in function apply_dyn_model_v2 of src/utils.py. The training entrance is Line 144 - 155 of src/main.p

Yuhan Wang 3 Mar 22, 2022
A tool to allow New World players to calculate the best place to put their Attribute Points for their build and level

New World Damage Simulator A tool designed to take a characters base stats including armor and weapons, level, and base damage of their items (slash d

Joseph P Langford 31 Nov 01, 2022
Daily knowledge pills to get better in Python.

Python daily pills Daily knowledge pills to get better Python code. Why Does your Python code suffers of any of this symptoms? Incorrect Indentation I

Jeferson Vaz dos Santos 35 Sep 19, 2022
an elegant datasets factory

rawbuilder an elegant datasets factory Free software: MIT license Documentation: https://rawbuilder.readthedocs.io. Features Schema oriented datasets

Mina Farag 7 Nov 12, 2022
A simple bot that will help you in your learning and make it more fun.

hyperskill-SimpleChattyBot-python A simple bot that will help you in your learning and make it more fun. Syntax bot.py Stages Stage #1: Zuhura Bot we

1 Nov 09, 2021
This app is to use algorithms to find the root of the equation

In this repository, I made an amazing app with tkinter python language and other libraries the idea of this app is to use algorithms to find the root of the equation I used three methods from numeric

Mohammad Al Jadallah 3 Sep 16, 2022
A Way to Use Python, Easier.

PyTools A Way to Use Python, Easier. How to Install Just copy this code, then make a new file in your project directory called PyTools.py, then paste

Kamran 2 Aug 15, 2022
A python script that fetches the grades of a student from a WAEC result in pdf format.

About waec-result-analyzer A python script that fetches the grades of a student from a WAEC result in pdf format. Built for federal government college

Oshodi Kolapo 2 Dec 04, 2021
🍏 Make Thinc faster on macOS by calling into Apple's native Accelerate library

🍏 Make Thinc faster on macOS by calling into Apple's native Accelerate library

Explosion 81 Nov 26, 2022
python for windows extensions

This is the readme for the Python for Win32 (pywin32) extensions source code. See CHANGES.txt for recent changes. 'setup.py' is a standard distutils

27 Dec 08, 2022
Cloth Simulation via Taichi

Cloth Simulation via Taichi

37 Nov 22, 2022
ticguide: quick + painless TESS observing information

ticguide: quick + painless TESS observing information Complementary to the TESS observing tool tvguide (see also WTV), which tells you if your target

Ashley Chontos 5 Nov 05, 2022
This is where I learn machine learning

This is where I learn machine learning🤷‍ This means that this repo covers no specific topic of machine learning or a project - I work in here when I want to learn/try something

Wilhelm Berghammer 47 Nov 16, 2022
SQL centered, docker process running game

REQUIREMENTS Linux Docker Python/bash set up image "docker build -t game ." create db container "run my_whatever/game_docker/pdb create" # creating po

1 Jan 11, 2022
Implent of Oracle Base line and Lea-3 Baseline

Oracle-Baseline Implent of Oracle Base line and Lea-3 Baseline Oracle Oracle : This model is used to obtain an oracle with a greedy algorithm similar

Andrew Zeng 2 Nov 12, 2021
Ergonomic option parser on top of dataclasses, inspired by structopt.

oppapī Ergonomic option parser on top of dataclasses, inspired by structopt. Usage from typing import Optional from oppapi import from_args, oppapi @

yukinarit 4 Jul 19, 2022
This is a simple bank management system based on Python.

Python Bank Management This is a simple bank management system based on Python. It's able to do basic operations of simple bank management. Outcome: W

Md. Rakibul Islam 3 Jan 06, 2022
Simple Wayland HotKey Daemon

swhkd Simple Wayland HotKey Daemon This project is still very new and I'm making new decisions everyday as to where I should drive this project. I'm u

Aakash Sen Sharma 407 Dec 30, 2022