Skip to content

Instantly share code, notes, and snippets.

Avatar
🙃

Mike Clark wassname

🙃
View GitHub Profile
View dicoms2df.py
"""
modified from https://github.com/fastai/fastai/blob/dded785401/fastai/medical/imaging.py#L363
url https://gist.github.com/wassname/a2cdf0b9b511f8a4769cbbe040a87900
to fail with logging then continue
and to only read header (much faster)
"""
# from loguru import logger
import copy
from fastai.medical.imaging import patch, DcmDataset, parallel, DcmMultiValue, delegates, _cast_dicom_special
import scipy.stats
View split_by_unique_col.py
from sklearn.model_selection import train_test_split
import pandas as pd
def shuffle_df(df, random_seed=42):
return df.sample(frac=1, random_state=random_seed, replace=False)
def split_by_unique_col(df, col='patient_id', stratify_cols=[], random_seed=42):
"""
Make a dataframe of unique ids, with our stratification data
@wassname
wassname / dicom_over_http.py
Last active Apr 10, 2021
how to read only metadata from a dicom url
View dicom_over_http.py
"""
how to read only metadata from a dicom url to save bandwith
- note the server must support HTTP Range, e.g. s3 buckets or azure blobs.
- note that if you don't mind reading the whole thing, it's easier to just read the whole thing, then pass it into pydicom as io.BytesIO
url: https://gist.github.com/wassname/70106b2d66a7c6e83e4b0300c9d1d4d3
"""
View rich_tqdm.py
from rich.progress import (
ProgressColumn,
BarColumn,
DownloadColumn,
TextColumn,
TransferSpeedColumn,
TimeRemainingColumn,
Progress,
TaskID,
TimeElapsedColumn,
@wassname
wassname / leftKNN.py
Last active Jan 15, 2021
Causal k nearest neighbors (KNN) that only looks back
View leftKNN.py
# %%
import numpy as np
from functools import partial
from pykdtree.kdtree import KDTree
class LeftKDTree(KDTree):
"""
KNN that only looks left.
@wassname
wassname / stablenormal.py
Created Nov 1, 2020
pytorch stable normal using log_scale
View stablenormal.py
import math
import torch
from torch.distributions import Normal
from torch.distributions.utils import broadcast_all, _standard_normal
from torch.distributions.kl import register_kl
class StableNormal(Normal):
"""Modified version that uses log_scale for stability of grad."""
def __init__(self, loc, log_scale):
View exercise.md

Exercise

Description:

  1. first
  2. second
@wassname
wassname / aws_keepassxc.md
Created Sep 1, 2020
How to use keepassxc and browser integration with aws console sign's
View aws_keepassxc.md

For your IAM user you get a csv of credentials like this

User name,Password,Access key ID,Secret access key,Console login link
USERNAME,PASSWORD,ACCESS_KEY,SECRET_KEY,https://0123456.signin.aws.amazon.com/console

If your region is sydney (ap-southeast-2) in keepass you enter:

Title: USERNAME/COMPANY

@wassname
wassname / azureml_py36_pytorch_conda.yaml
Created Jul 3, 2020
azure data science vm packages azureml_py36_pytorch
View azureml_py36_pytorch_conda.yaml
name: azureml_py36_pytorch
channels:
- pytorch
- conda-forge
- anaconda
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _py-xgboost-mutex=2.0=cpu_0
- _pytorch_select=0.2=gpu_0
View times.py
def row2date(row, tz="Australia/Perth"):
"""Parse time columns."""
return pd.Timestamp(
year=int(row.Year),
month=int(row.Month),
day=int(row.Day),
hour=int(row.Hour),
minute=int(row.Minute),
second=int(row.Seconds),