-
Notifications
You must be signed in to change notification settings - Fork 2
/
iceTROPY_registration.m
30 lines (22 loc) · 1.08 KB
/
iceTROPY_registration.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function [ flagRegd ] = iceTROPY_registration( fullFileReg )
% Gets user to specify registration of PAR and PPD images, with cpselect()
% Typically the user may specify corners or fluorescent beads to do this
imReg = imread(fullFileReg);
flagFlipudReg = evalin('base','flagFlipudReg');
[imRegBG, imRegPAR, imRegPPD] =iceTROPY_segmentation(imReg, flagFlipudReg);
BGreg = mean(imRegBG(:));
% The cpselect tools likes "doubles" so in case we are handling
% 32 bit FITS files (which we may well be), modify the data as follows
imRegPAR = double ( imRegPAR - BGreg );
imRegPPD = double ( imRegPPD - BGreg );
imRegPAR = imRegPAR ./ max(imRegPAR(:));
imRegPPD = imRegPPD ./ max(imRegPPD(:));
% In cpselect(in,base), "in" is to be warped to "base"
[input_points, base_points] = cpselect(imRegPAR, imRegPPD, ...
'Wait',true);
mytform = cp2tform(input_points, base_points, 'projective');
assignin('base','base_points', base_points);
assignin('base','input_points',input_points);
assignin('base','mytform',mytform);
flagRegd = 1;
end