an.org 4.8 KB

poetry run emacs an.org

import tifffile as tff
import numpy as np
import aicsimageio
import matplotlib.pyplot as plt
import seaborn as sb
import impy
from pathlib import Path
import skimage
import scipy
import imageio
import pandas as pd

initial thumb folder clean up

cd "/home/dati/dt-evolv/data/2022-11-16/13401/TimePoint_1"
cd "/home/dati/dt-evolv/data/2022-11-16/13401/TimePoint_1"
mkdir -p thumbs
fd _thumb -0 | xargs -0 mv -t ./thumbs
pwd

single image test

cd "/home/dati/dt-evolv/data/2022-11-16/13401/TimePoint_1"
fp2 = "/home/dati/dt-evolv/data/2022-11-16/13401/TimePoint_1/6w-20Xph1-SpikeTest6-DA_A01_s1_w2B3DEDFEB-FB52-4D83-8176-CC090AD62AC4.tif"
fp1 = "/home/dati/dt-evolv/data/2022-11-16/13401/TimePoint_1/6w-20Xph1-SpikeTest6-DA_A01_s1_w19A3DA0A6-B9DD-475E-ABED-27415F9DE6EB.tif"
i1 = impy.imread(fp1)
i2 = impy.imread(fp2)
skimage.io.imshow(i2)

export same as for 2022-06-22

p = Path(".")
out1 = Path("./1024")
out2 = Path("./512")
out1.mkdir()
out2.mkdir()
import utils
p = Path(".")
s_in = ["A01", "B01", "A02", "A03"]
s_out = ["A01", "B01", "A02", "A03"]

for ins, outs in zip(s_in, s_out):
    for i in range(1, 3):
        print(ins, outs, i)
        fp1 = sorted(p.glob(f"**/*{ins}*s{i}_w1*"))[0]
        fp2 = sorted(p.glob(f"**/*{ins}*s{i}_w2*"))[0]
        c1 = tff.imread(fp1)
        c2 = tff.imread(fp2)
        # clip1 = int(utils.bg(c1)[0])
        clip2 = int(utils.bg(c2)[0])
        # c1r = skimage.util.img_as_ubyte(skimage.exposure.rescale_intensity(c1.clip(clip1, c1.max() * 0.95)))
        # c2r = skimage.util.img_as_ubyte(skimage.exposure.rescale_intensity(c2.clip(clip2, c2.max() * 0.95)))
        c1r = skimage.util.img_as_ubyte((c1))
        c2r = skimage.util.img_as_ubyte(skimage.exposure.rescale_intensity(c2.clip(clip2,65000)))
        cc = np.dstack((c2r, c1r, np.zeros_like(c1r)))
        cc = skimage.transform.downscale_local_mean(cc, (4, 4, 1))
        imageio.imwrite(out2 / f"{outs}_s{i}.png", cc)
A01 A01 1
Lossy conversion from float64 to uint8. Range [0.0, 213.4375]. Convert image to uint8 prior to saving to suppress this warning.
A01 A01 2
Lossy conversion from float64 to uint8. Range [0.0, 232.125]. Convert image to uint8 prior to saving to suppress this warning.
B01 B01 1
Lossy conversion from float64 to uint8. Range [0.0, 203.8125]. Convert image to uint8 prior to saving to suppress this warning.
B01 B01 2
Lossy conversion from float64 to uint8. Range [0.0, 255.0]. Convert image to uint8 prior to saving to suppress this warning.
A02 A02 1
Lossy conversion from float64 to uint8. Range [0.0, 230.6875]. Convert image to uint8 prior to saving to suppress this warning.
A02 A02 2
Lossy conversion from float64 to uint8. Range [0.0, 201.3125]. Convert image to uint8 prior to saving to suppress this warning.
A03 A03 1
Lossy conversion from float64 to uint8. Range [0.0, 189.875]. Convert image to uint8 prior to saving to suppress this warning.
A03 A03 2
Lossy conversion from float64 to uint8. Range [0.0, 165.5]. Convert image to uint8 prior to saving to suppress this warning.

New export

cd "/home/dati/dt-evolv/data/2022-11-16/13401/TimePoint_1"
p = Path(".")
out2 = Path("./512n")
out2.mkdir()
import utils
p = Path(".")
s_in = ["A01", "B01", "A02", "B02", "A03", "B03"]
s_out = ["A01", "B01", "A02", "B02", "A03", "B03"]

for ins, outs in zip(s_in, s_out):
    print(ins)
    for i in range(1, 901):
        fp1 = sorted(p.glob(f"**/*{ins}*s{i}_w1*"))[0]
        fp2 = sorted(p.glob(f"**/*{ins}*s{i}_w2*"))[0]
        c1 = tff.imread(fp1)
        c2 = tff.imread(fp2)
        c1 = skimage.transform.downscale_local_mean(c1, 4)
        c2 = skimage.transform.downscale_local_mean(c2, 4)
        clip1 = int(np.sum(utils.bg(c1)))
        clip2 = int(np.sum(utils.bg(c2)))
        c1r = skimage.util.img_as_ubyte(skimage.exposure.rescale_intensity(c1.clip(clip1, c1.max() * 0.95)))
        c2r = skimage.util.img_as_ubyte(skimage.exposure.rescale_intensity(c2.clip(clip2, c2.max() * 0.95)))
        cc = np.dstack((c2r, c1r, np.zeros_like(c1r)))
        imageio.imwrite(out2 / f"{outs}_s{i}.png", cc)
A01
B01
A02
B02
A03
B03