Bin - All Features#
Torch-only binning workflow, exports, and batch preset handoff.
[1]:
import numpy as np
from pathlib import Path
from quantem.widget import Bin
import quantem.widget
print(f"quantem.widget {quantem.widget.__version__}")
quantem.widget 0.4.0a3
[2]:
rng = np.random.default_rng(7)
data = rng.random((48, 40, 128, 96), dtype=np.float32)
w = Bin(
data,
pixel_size=(2.39, 2.39),
k_pixel_size=(0.46, 0.46),
bin_mode='mean',
edge_mode='crop',
device='cpu',
)
w.scan_bin_row = 2
w.scan_bin_col = 2
w.det_bin_row = 2
w.det_bin_col = 2
w
[2]:
[3]:
# Export helper examples
out = Path('bin_exports')
out.mkdir(exist_ok=True)
w.save_image(out / 'bin_grid.png', view='grid')
w.save_zip(out / 'bin_bundle.zip', include_arrays=True)
w.save_gif(out / 'bin_bf_compare.gif', channel='bf')
[3]:
PosixPath('bin_exports/bin_bf_compare.gif')
[4]:
# Save preset for folder batch runner
preset_path = out / 'bin_preset.json'
w.save(preset_path)
preset_path
[4]:
PosixPath('bin_exports/bin_preset.json')
[5]:
# CLI example (run in shell):
# python -m quantem.widget.bin_batch --input-dir raw --output-dir binned --preset bin_exports/bin_preset.json --pattern '*.npy' --recursive --device cpu