Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

function for compiling images doesn't work

1 Ansicht (letzte 30 Tage)
Mohammed Ali
Mohammed Ali am 27 Jun. 2018
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I try to compile images by using this function but the function is not recalled. what is the problem in this code.
if true
% Pathname="/Users/mohammedabdullah/OneDrive - University at Albany - SUNY/Signals/Signals/April 24 2018_2";
FolderNames= "Cycle 1";
hybs= 8;
Channelstotal= 8;
channelsperhyb= 2;
function offsets = make3channel(PathName, FolderName, hybs, channelstotal, channelsperhyb)
for i = 1:hybs
listing{i} = dir([PathName '\' num2str(i) '\*.tif']);
end
mkdir(PathName,FolderName);
fld = pwd;
Miji;
cd(fld);
k2 = strfind(listing{1}(1).name, 'Pos');
for k = 1:length(listing{1})
roi = listing{1}(k).name(k2(1):k2(1)+4);
mkdir([PathName '\' FolderName],roi);
for i = 0:(hybs/(channelstotal/channelsperhyb))-1
counter = 1;
for j = (i*channelstotal/channelsperhyb)+1:channelstotal/channelsperhyb*(i+1)
Path = ['path=[' PathName '\' num2str(j) '\' listing{j}(k).name ']'];
MIJ.run('Open...', Path);
hybtemp = uint16(MIJ.getCurrentImage);
if mod(j,channelstotal/channelsperhyb) ~=1
regi = cat(3,regi,hybtemp(:,:,4));
c = normxcorr2(regi(:,:,counter),regi(:,:,1));
[~, imax] = max(abs(c(:)));
[ypeak, xpeak] = ind2sub(size(c),imax(1));
offset{i+1,counter} = [(xpeak-size(regi(:,:,1),2)) (ypeak-size(regi(:,:,1),1))];
hybtempreg = imtranslate(hybtemp,offset{i+1,counter});
tform = imregcorr(regi(200:800,200:800,counter),regi(200:800,200:800,1));
hybtempreg = imwarp(hybtemp,tform,'OutputView',imref2d(size(regi(:,:,1))));
hyb = cat(3,hyb, hybtempreg(:,:,1:3));
regireg = cat(3,regireg, hybtempreg(:,:,4));
offsets{i+1,counter} = tform;
else
hyb = hybtemp(:,:,1:3);
regireg = hybtemp(:,:,4);
regi = hybtemp(:,:,4);
end
counter = counter + 1;
MIJ.run('Close All')
end
MIJ.createImage('HYB',hyb,true);
MIJ.run('Stack to Hyperstack...', ['order=xyczt(default) channels=' num2str(channelstotal) ' slices=1 frames=1 display=Grayscale']);
MIJ.run('Save', ['save=[' PathName '\' result '\' roi '\' num2str(i+1) '.tif' ']']);
MIJ.run('Close All')
MIJ.createImage('Regireg',regireg,true);
MIJ.run('Save', ['save=[' PathName '\' FolderName '\' roi '\hyb' num2str(i+1) 'RegistrationCheck.tif' ']']);
MIJ.run('Close All')
end
end
MIJ.exit
end
end

Antworten (0)

Diese Frage ist geschlossen.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by