Skip to content

Instantly share code, notes, and snippets.

@atadams
atadams / ptc_batch_analysis.py
Created February 1, 2026 23:31
PTC (variance) Analysis
#!/usr/bin/env python3
"""
Batch Photon Transfer Curve (PTC) Analysis for CR2 RAW files
Recursively processes directories of CR2 files and generates:
- Individual PTC plots for each file
- Summary CSV with all statistics
- Overview comparison plot
Usage:
@atadams
atadams / Hist.py
Created January 26, 2026 21:54
Hist.py
import os
import rawpy
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import pandas as pd
from PIL import Image
def generate_forensic_histograms(img_path):
@atadams
atadams / GreenChannel14bit.py
Created January 26, 2026 19:39
GreenChannel14bit.py
import rawpy
import numpy as np
import matplotlib.pyplot as plt
import os
def run_14bit_audit(src_path, label, color, out_dir):
if not os.path.exists(src_path):
print(f"Directory not found: {src_path}")
@atadams
atadams / pca-vectors.py
Last active June 21, 2024 00:59
Python scripts that compares PCA mean vectors for altered images and unaltered images from raw files
import cv2 as cv
import numpy as np
import rawpy
def perform_pca(filepath, alter_image=False):
if alter_image:
# Read the CR2 image with auto white balance or auto brightness
rgb_image = rawpy.imread(filepath).postprocess()
else:
@atadams
atadams / delete_recursive.sh
Last active December 11, 2015 13:18
Terminal: Delete Files Recursively
find . -name '*.log' -type f -delete
@atadams
atadams / zip_directory.sh
Created January 23, 2013 14:22
Terminal: Zip Files in Directory Recursively
for i in `find . -name "*.log"`; do zip -j $i.zip $i;done;
@atadams
atadams / unzip_directory.sh
Created January 23, 2013 14:21
Terminal: Unzip Files in Directory Recursively
for i in `find . -name "*.zip"`; do unzip -d `dirname $i` $i;done;
@atadams
atadams / rsync_full-scrubbed.sh
Created January 23, 2013 14:17
Terminal: Copy/Sync Directory (Full to Scrubbed)
rsync -n -amv --stats --include="*/" --include="u_ex121218.log" --include="u_ex121219.log" --exclude="*" "/Volumes/bcm-ccit-web\$/test-WebLogs-Archive/full/current/" "/Volumes/bcm-ccit-web\$/test-WebLogs-Archive/scrubbed/current"
@atadams
atadams / rsync_weblogs-full.sh
Last active December 11, 2015 13:18
Terminal: Copy/Sync Directory (Weblogs to Full)
rsync -n -amv --stats --include="*/" --include="u_ex121218.log" --include="u_ex121219.log" --exclude="*" "/Volumes/WebLogs\$/" "/Volumes/bcm-ccit-web\$/test-WebLogs-Archive/full/current/"