Skip to content

Instantly share code, notes, and snippets.

View DanHickstein's full-sized avatar

Danhickstein DanHickstein

  • Octave Photonics
  • Boulder, CO
View GitHub Profile
@DanHickstein
DanHickstein / comb.py
Created April 11, 2019 14:16
comb comparison
import abel
from abel.tools.analytical import PiecewisePolynomial
from itertools import chain
import matplotlib.pyplot as plt
import numpy as np
hw = 1 # peak half-width
step = 10 # center-to-center distance between peaks
n = 10 # number of peaks
{
"action": "published",
"organization": {
"issues_url": "https://api.github.com/orgs/PyAbel/issues",
"members_url": "https://api.github.com/orgs/PyAbel/members{/member}",
"description": "A Python package for performing inverse abel transforms",
"public_members_url": "https://api.github.com/orgs/PyAbel/public_members{/member}",
"url": "https://api.github.com/orgs/PyAbel",
"events_url": "https://api.github.com/orgs/PyAbel/events",
"avatar_url": "https://avatars3.githubusercontent.com/u/15894666?v=4",
#include "stdosl.h"
shader volumeTexture(
point Vector = P,
string directory="//",
string prefix="",
int framePositions=3,
string extension=".tif",
float zMax = 2.0,
int fromFrame = 1,
clear all;
N=1001;
Rm = fix(N/2)+1;
NBF=500;
I=(1:N)';
R2 = ((I-Rm).^2);
R = I-Rm;
M = zeros(N,NBF);
Mc =zeros(N,NBF);
Mc(:,1)=exp(-R2);
@DanHickstein
DanHickstein / StageAndThorUpdated4.py
Created September 13, 2018 16:57
Thorlabs OSA and thorlabs rotation stage
# -*- coding: utf-8 -*-
"""
StageAndThor.py
By Grace Kerber and Dan Hicktein (danhickstein@gmail.com)
This program connects a Thorlabs Rotation Stage and a Thorlabs OSA (ours OSA 205)
# to take power scans while recording the spectra
"""
# This program defines zero as the position when stage is plugged into computer, will home in first part of code
@DanHickstein
DanHickstein / linalg_compare0.2.py
Created September 5, 2018 13:16
Comparison of np.linalg.solve
import numpy as np
import matplotlib.pyplot as plt
import timeit
import time
length = 10
ns = 2**np.arange(0,length)
t0s = np.zeros(length)
t1s = np.zeros(length)
import numpy as np
import matplotlib.pyplot as plt
import time
ns = 2**(np.arange(4,14))
times = np.zeros_like(ns, dtype='float')
rep = 10
for count, n in enumerate(ns):
im = np.random.random((n,n))
import numpy as np
import scipy.ndimage
import matplotlib.pyplot as plt
before = np.zeros((10,10))
before[5] = 1
# after = np.rot90(before) # uncomment to switch to np.rot90s
after = scipy.ndimage.interpolation.rotate(before, 45)
import numpy as np
import matplotlib.pyplot as plt
from numpy import linspace, pi, log10, exp
# from numpy.fft import fft, ifft, fftshift # Sometimes numpy is faster
from scipy.fftpack import fft, ifft, fftshift # but usually scipy is faster
from scipy.misc import factorial
from scipy.integrate import complex_ode
import scipy.ndimage
import time
import numpy as np
import matplotlib.pyplot as plt
from pynlo.devices.grating_compressor import TreacyCompressor as tc
import pynlo
l_mm = 940
angle = 47.5
comp = tc(l_mm,angle)