Skip to content

Instantly share code, notes, and snippets.

View michaelosthege's full-sized avatar

Michael Osthege michaelosthege

View GitHub Profile
@michaelosthege
michaelosthege / convert.py
Last active February 28, 2024 22:16
Convert MP4/AVI clips to GIF with a single Python function
import imageio
import os, sys
class TargetFormat(object):
GIF = ".gif"
MP4 = ".mp4"
AVI = ".avi"
def convertFile(inputpath, targetFormat):
"""Reference: http://imageio.readthedocs.io/en/latest/examples.html#convert-a-movie"""
@michaelosthege
michaelosthege / weirdimport.py
Created March 7, 2017 22:04
import python stuff from any directory
def weirdimport(*paths):
import os, sys
fullpath = os.path.abspath(os.path.join(*paths))
global project
sys.path.append(os.path.dirname(fullpath))
try:
project = __import__(os.path.basename(fullpath))
sys.modules['project'] = project
finally:
del sys.path[-1]
@michaelosthege
michaelosthege / DatagramSocketReceiver.cs
Created June 24, 2017 21:06
Unity UdpClient (#if UNITY_EDITOR) and UWP DatagramSocket (#if !UNITY_EDITOR) for receiving UDP broadcasts.
public class BroadcastReceiver : IDisposable
{
//OnMessageReceived
public delegate void AddOnMessageReceivedDelegate(string message, IPEndPoint remoteEndpoint);
public event AddOnMessageReceivedDelegate MessageReceived;
private void OnMessageReceivedEvent(string message, IPEndPoint remoteEndpoint)
{
if (MessageReceived != null)
MessageReceived(message, remoteEndpoint);
}
@michaelosthege
michaelosthege / BroadcastReceiver.cs
Last active December 22, 2022 06:24
Unity UdpClient and UWP DatagramSocket for receiving UDP broadcasts.
using System.Text;
#if UNITY_EDITOR
using System.Net.Sockets;
using System.Threading;
#else
using Windows.Networking.Sockets;
using Windows.Storage.Streams;
using System.Threading.Tasks;
using System.IO;
using Windows.Networking;
@michaelosthege
michaelosthege / benchmark.py
Created July 6, 2017 12:05
Benchmarking helpers
import time
class Measurement(object):
def __init__(self, name):
self.name = name
return
def __enter__(self):
self.t_start = time.time()
return
@michaelosthege
michaelosthege / theano_numpy_ODE.py
Last active July 6, 2017 12:18 — forked from dean-shaff/theano_numpy_diffeq.py
Theano and Numpy speed comparison for Lorenz Attractor
import theano
import theano.tensor as T
import numpy
import h5py
import os
import time
def rungekuttastep(h, y, fprime, *theta):
k1 = h*fprime(y,*theta)
@michaelosthege
michaelosthege / linear_interpolation.py
Created July 20, 2017 13:25
vectorized linear interpolation in numpy
import numpy
from matplotlib import pyplot
def interpolate(x_fix, y_fix, x_var):
x_repeat = numpy.tile(x_var[:,None], (len(x_fix),))
distances = numpy.abs(x_repeat - x_fix)
x_indices = numpy.searchsorted(x_fix, x_var)
@michaelosthege
michaelosthege / Leigh1968_harelynx.csv
Last active May 28, 2024 18:36
Hudson Bay company Lynx-Hare dataset from Leigh 1968, parsed from paper copy http://katalog.ub.uni-heidelberg.de/titel/66489211 (This is the entire Table II)
year hare lynx
1847 21000 49000
1848 12000 21000
1849 24000 9000
1850 50000 7000
1851 80000 5000
1852 80000 5000
1853 90000 11000
1854 69000 22000
1855 80000 33000
@michaelosthege
michaelosthege / pandas_snippets.py
Last active November 30, 2017 10:09
Some pandas code snippets
# saving a DataFrame to an Excel spreadsheet
writer = pandas.ExcelWriter(fp_xlsx)
df.to_excel(writer, 'Sheetname')
writer.save()
"""Sampling parameters of a lorenz attractor.
The forward pass integrates the lorenz attractor ODE system using
tt.scan with a Runge-Kutta integrator. The predicted high-resolution
timecourse is interpolated down so it can be compared to low-density
observations.
"""
import abc
import numpy
import pymc3