Skip to content

Instantly share code, notes, and snippets.

Avatar

Thomas Aarholt thomasaarholt

  • University of Oslo
  • Oslo, Norway
View GitHub Profile
View vilde.py
x_ = np.linspace(0, 12, 1000)
die_y = die_fit_func(x_, *guess)
fig, ax = plt.subplots()
ax.plot(x_, die_y.real)
ax2 = ax.twinx()
ax2.plot(x_, die_y.imag, color='red')
ax.set(xlabel='Energy', ylabel='Real')
View getP1.py
def P1(P0=(0,0), Pc=(2,2), step=1):
"Get the point P1, the point to which one moves from P0 with a fixed step in the direction of Pc"
X0, Y0 = P0
Xc, Yc = Pc
diffX = Xc - X0
diffY = Yc - Y0
magnitude = (diffX**2 + diffY**2)**0.5
@thomasaarholt
thomasaarholt / stem_temscript.py
Created Feb 15, 2021
Acquire STEM Rotation Series with temscript
View stem_temscript.py
from pprint import pprint
import temscript as ts
from math import pi
dwelltime = 1e-5 # seconds
tem = ts.Microscope()
illumination = tem._tem_illumination
instrument = ts.GetInstrument()
@thomasaarholt
thomasaarholt / tophat1d.py
Created Feb 11, 2021
1D Tophat function using radius and center
View tophat1d.py
import hyperspy.api as hs
expr = "where(abs(x - center) < radius, A, 0)"
tophat = hs.model.components1D.Expression(expr, 'Top Hat', position="center", A=1, center=0, radius=1)
@thomasaarholt
thomasaarholt / tophat2d.py
Created Feb 11, 2021
2D TopHat Hyperspy Sympy Component
View tophat2d.py
import hyperspy.api as hs
expr = "where(sqrt((x - xc)**2 + (y - yc)**2) < radius, A, 0)"
tophat = hs.model.components2D.Expression(expr, 'Top Hat', position=("xc", "yc"), A=1, xc=0, yc=0, radius=1)
@thomasaarholt
thomasaarholt / gist:b383445e094d9690dc9da3733d04cbbf
Created Feb 11, 2021
1D TopHat Hyperspy Sympy component using Relationals
View gist:b383445e094d9690dc9da3733d04cbbf
import hyperspy.api as hs
expr = "where(And(left < x, x < right), A, 0)"
tophat = hs.model.components1D.Expression(expr, 'Top Hat', position="left", A=1, left=0, right=1)
View loadxrd.py
def loadXRD(filename):
with open(filename, 'r') as f:
lines = f.readlines()
angles = []
intensity = []
for line in lines[1:-2]:
x, y = line.split('\n')[0].split(",")[:-1]
angles.append(float(x))
intensity.append(float(y))
x = np.array(angles)
@thomasaarholt
thomasaarholt / convolve_fft.py
Created Jan 27, 2021
2D Convolution Using FFT and Scipy for even and odd-sized arrays
View convolve_fft.py
import numpy as np
from scipy.signal import convolve2d, gaussian
from scipy.misc import face
import matplotlib.pyplot as plt
def convolve2d_fft(arr1, arr2):
s0, s1 = arr1.shape
conv = np.fft.irfft2(
np.fft.rfft2(arr1) * np.fft.rfft2(arr2),
View gist:34f5712b07b5bee119d649808961f37c
$ pip install pytetgen
Collecting pytetgen
Using cached pytetgen-0.1.4.tar.gz (392 kB)
Building wheels for collected packages: pytetgen
Building wheel for pytetgen (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'C:\Users\thomasaar\Miniconda3\envs\py38\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\thomasaar\\AppData\\Local\\Temp\\pip-install-xphrb4j7\\pytetgen_dc8134ee876b4f18b1a1373353bd0c09\\setup.py'"'"'; __file__='"'"'C:\\Users\\thomasaar\\AppData\\Local\\Temp\\pip-install-xphrb4j7\\pytetgen_dc8134ee876b4f18b1a1373353bd0c09\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\thomasaar\AppData\Local\Temp\pip-wheel-igdis3c8'
cwd: C:\Users\thomasaar\AppData\Local\Temp\pip-install-xphrb4j7\pytetgen_dc8134ee876b4f18b1a1373353bd0c09\
Complete output (339 lines):
running bdist_whee
@thomasaarholt
thomasaarholt / plot_arc.py
Last active Jan 13, 2021
Create a matplotlib Arc patch to show the angle between two lines
View plot_arc.py
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
Arc = matplotlib.patches.Arc
def halfangle(a, b):
"Gets the middle angle between a and b, when increasing from a to b"
if b < a:
b += 360
return (a + b)/2 % 360