Spam quick start¶
You can find a complete docmumentation about spam that is able to do more than just 2D images correlation.
Here we present a simple DIC on 2D images.
This tutorial has been tested using [spam 0.6.0.1]
Preprocessing the image¶
To comvert raw image into tiff, we recomande dcraw. It is able to process CR2
, NEF
, … image formats.
`
The images¶
The initial and final image for DIC¶
import tifffile
import matplotlib.pyplot as plt
import matplotlib.cm as cm
adr_i='/data/Manips/Columnar_Ice/CI23/DIC_Analysis/Test_spam/CI23_set01_001.tiff'
adr_f='/data/Manips/Columnar_Ice/CI23/DIC_Analysis/Test_spam/CI23_set01_027.tiff'
im_i=tifffile.imread(adr_i)
im_f=tifffile.imread(adr_f)
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
<ipython-input-3-b7248b34c331> in <module>
----> 1 im_i=tifffile.imread(adr_i)
2 im_f=tifffile.imread(adr_f)
~/miniconda3/envs/basepy39/lib/python3.9/site-packages/tifffile/tifffile.py in imread(files, aszarr, **kwargs)
808
809 if isinstance(files, (str, os.PathLike)) or hasattr(files, 'seek'):
--> 810 with TiffFile(files, **kwargs_file) as tif:
811 if aszarr:
812 return tif.aszarr(**kwargs)
~/miniconda3/envs/basepy39/lib/python3.9/site-packages/tifffile/tifffile.py in __init__(self, arg, mode, name, offset, size, _multifile, _useframes, _master, **kwargs)
2975 raise ValueError(f'invalid mode {mode!r}')
2976
-> 2977 fh = FileHandle(arg, mode=mode, name=name, offset=offset, size=size)
2978 self._fh = fh
2979 self._multifile = bool(_multifile)
~/miniconda3/envs/basepy39/lib/python3.9/site-packages/tifffile/tifffile.py in __init__(self, file, mode, name, offset, size)
9444 self.is_file = None
9445 self._lock = NullContext()
-> 9446 self.open()
9447
9448 def open(self):
~/miniconda3/envs/basepy39/lib/python3.9/site-packages/tifffile/tifffile.py in open(self)
9457 self._file = os.path.realpath(self._file)
9458 self._dir, self._name = os.path.split(self._file)
-> 9459 self._fh = open(self._file, self._mode)
9460 self._close = True
9461 if self._offset is None:
FileNotFoundError: [Errno 2] No such file or directory: '/data/Manips/Columnar_Ice/CI23/DIC_Analysis/Test_spam/CI23_set01_001.tiff'
plt.figure(figsize=(30,9.4))
plt.subplot(121)
plt.imshow(im_i,cmap=cm.gray)
plt.axis('equal')
plt.title('initial image')
plt.subplot(122)
plt.imshow(im_f,cmap=cm.gray)
plt.axis('equal')
plt.title('final image')
Text(0.5, 1.0, 'final image')
im_i.shape
(4924, 7378)
The mask image¶
adr_m='/data/Manips/Columnar_Ice/CI23/DIC_Analysis/Test_spam/CI23_set01_001_mask.tiff'
im_m=tifffile.imread(adr_m)
plt.figure(figsize=(15,9.4))
plt.imshow(im_m,cmap=cm.gray)
plt.axis('equal')
plt.colorbar()
plt.title('initial image')
Text(0.5, 1.0, 'initial image')
im_m.shape
(4924, 7378)
The DIC using spam¶
mkdir spamcor
spam-reg -mf1 CI23_set01_001_mask.tiff -bb 8 -be 2 CI23_set01_001.tiff CI23_set01_027.tiff
spam-pixelSearch CI23_set01_001.tiff CI23_set01_027.tiff -hws 15 -ns 30 -sr 0 0 -20 50 -20 20 -vtk -mf1 CI23_set01_001_mask.tiff
spam-filterPhiField -pf CI23_set01_001-CI23_set01_027-pixelSearch.tsv -scc -scct 0.99 -cint
spam-ldic CI23_set01_001.tiff CI23_set01_027.tiff -pf CI23_set01_001-CI23_set01_027-pixelSearch-filtered.tsv -hws 15 -vtk
spam-filterPhiField -pf CI23_set01_001-CI23_set01_027-ldic.tsv -srs -cint -vtk -notsv -od spamcor/
Need to build a function to import data from spam in xarray-dic