Start this notebook with DEBUG=matrixscreener ipython notebook
for debug output.
import matrixscreener as ms
e = ms.experiment.Experiment('../tests/experiment--test/')
from PIL import Image
i = Image.open(e.images[0])
i.info
{'compression': 'raw', 'dpi': (105716.63707131297, 105716.63707131297)}
from IPython.display import Math
# pixel size in microns
Math(str(0.254 / _3['dpi'][0] * 1e6) + '\mu m')
!du -h -d 1 ../tests/experiment--test/
4.4M ../tests/experiment--test//slide--S00 4.4M ../tests/experiment--test/
filename = e.images[0]
!ls -l $filename
-rw-r--r-- 1 arve staff 1055760 Feb 3 23:09 ../tests/experiment--test/slide--S00/chamber--U00--V00/field--X00--Y00/image--L00--S00--U00--V00--J20--E00--O00--X00--Y00--T00--Z00--C00.ome.tif
import numpy as np
orig = np.array(i)
ms.experiment.compress(e.images, delete_tif=True)
!du -h -d 1 ../tests/experiment--test/
1.6M ../tests/experiment--test//slide--S00 1.6M ../tests/experiment--test/
filename = e.images[0]
!ls -l $filename
-rw-r--r-- 1 arve staff 280843 Feb 3 23:33 ../tests/experiment--test/slide--S00/chamber--U00--V00/field--X00--Y00/image--L00--S00--U00--V00--J20--E00--O00--X00--Y00--T00--Z00--C00.png
i = Image.open(filename)
compressed = np.array(i)
ms.experiment.decompress(e.images, delete_png=True, delete_json=True)
!du -h -d 1 ../tests/experiment--test/
4.4M ../tests/experiment--test//slide--S00 4.4M ../tests/experiment--test/
filename = e.images[0]
!ls -l $filename
-rw-r--r-- 1 arve staff 1055760 Feb 3 23:34 ../tests/experiment--test/slide--S00/chamber--U00--V00/field--X00--Y00/image--L00--S00--U00--V00--J20--E00--O00--X00--Y00--T00--Z00--C00.ome.tif
i = Image.open(filename)
decompressed = np.array(i)
# compare data
np.all(orig == compressed)
True
np.all(orig == decompressed)
True