function [] = labelAutoSegmentation_gh146da7(filename) % loads filename and user selects clusters corresponding to glomeruli of % interest % assumes labels 1-5 were saved by batch processing script load(filename) savename=[filename(1:end-4) '_labelled']; close all glomeruliToSegment=[{'DM2'},{'DM3'},{'DC2'},{'DL5'},{'DM1'}]; glomeruliSegs=cell(2,length(glomeruliToSegment)); % randomize labels to help visualize labels2orig=labels2; labels2=zeros(size(labels2orig)); rp=randperm(max(labels2orig(:))); for i=1:max(labels2orig(:)) labels2(labels2orig==rp(i))=i; end labels4orig=labels4; labels4=zeros(size(labels4orig)); rp=randperm(max(labels4orig(:))); for i=1:max(labels4orig(:)) labels4(labels4orig==rp(i))=i; end labels5orig=labels5; labels5=zeros(size(labels5orig)); rp=randperm(max(labels5orig(:))); for i=1:max(labels5orig(:)) labels5(labels5orig==rp(i))=i; end % use two options for segmentation: one with low and one with high % over-clustering segmentation1=labels2; segmentation2=labels5; minCtrst=-10; ctrst=[minCtrst 1000]; for glomsToSegment=1:length(glomeruliToSegment) for leftright=[1 2] currentSeg=zeros(size(maskedNnorm)); fig = gcf; ax = axes('Parent', fig); k=1; was_a_key=1; while k if was_a_key text(0,0,['z slice: ' num2str(k)],'FontSize',20) subplot(1,3,1) imagesc(maskedNnorm(:,:,k),ctrst) if leftright==1 title(['select glomerulus: ' glomeruliToSegment{glomsToSegment} ' left']) else title(['select glomerulus: ' glomeruliToSegment{glomsToSegment} ' right']) end subplot(1,3,2) imagesc(segmentation1(:,:,k)) set(gca,'tag',num2str(1)) title('labels2') subplot(1,3,3) imagesc(segmentation2(:,:,k)) set(gca,'tag',num2str(2)) title('labels5') drawnow end was_a_key = waitforbuttonpress; if was_a_key && (strcmp(get(fig, 'CurrentKey'), 'downarrow') || strcmp(get(fig, 'CurrentKey'), 'leftarrow')) if k>1 k = k - 1; else k=1; end elseif was_a_key && (strcmp(get(fig, 'CurrentKey'), 'uparrow') || strcmp(get(fig, 'CurrentKey'), 'rightarrow')) if k