Skip to content
Snippets Groups Projects
Select Git revision
  • 499ea3a9de6e1947ae1d6c8d1999c58431e66e92
  • master default protected
  • develop
  • v0.5
  • v0.4b
  • v0.3b
  • v0.2b
  • v0.1b
8 results

InitializeMipFigure.m

Blame
  • InitializeMipFigure.m 2.13 KiB
    function InitializeMipFigure(im, imD)
    %InitializeMipFigure( metadataPath, prompt)
    
    global MipFigureHandle MipAxesHandle MipPrevRectangleHandle MipDragRectangleHandle MipTextHandle MipDragLineHandle MipFullIm
    if (~exist('prompt','var'))
        prompt = [];
    end
    
    if (~exist('imD','var') || isempty(imD))
        if (~exist('metadataPath','var') || isempty(metadataPat))
            error('No image or metadata to read!');
        end
        %imD = MicroscopeData.ReadMetadata(metadataPath,prompt);
    end
    
    [~, imInfo] = MicroscopeData.GetImageClass(imD);
    mem = memory;
    memNeeded = imInfo(1).BitDepth * prod(imD.Dimensions) * imD.NumberOfChannels * imD.NumberOfFrames;
    
    if (~exist('im','var') || isempty(im))
        if (mem.MemAvailableAllArrays>memNeeded)
            MipFullIm = MicroscopeData.Reader(imD,[],[],[],[],[],true);
            imMIP = max(MipFullIm,[],3);
        else
            MipFullIm = [];
            imMIP = MicroscopeData.Reader('imageData',imD,'getMIP',true);
        end
    else
        MipFullIm = im;
        imMIP = max(ImUtils.BrightenImages(MipFullIm),[],3);
    end
    
    colors = MicroscopeData.Colors.GetChannelColors(imD);
    imC = ImUtils.ThreeD.ColorMIP(imMIP,colors);
    
    MipFigureHandle = figure;
    iH = imshow(imC);
    MipAxesHandle = get(iH,'Parent');
    hold(MipAxesHandle,'on');
    
    ud.ImData = imD;
    ud.IsDown = false;
    set(MipAxesHandle,'UserData',ud);
    
    MipPrevRectangleHandle = rectangle('Position',[0,0,0.1,0.1],'EdgeColor',[0.88,0.88,0.3],'LineStyle','-','LineWidth',1.0,'Parent',MipAxesHandle);
    MipDragRectangleHandle = rectangle('Position',[0,0,0.1,0.1],'EdgeColor',[1/3,0.61,0.84],'LineStyle','--','LineWidth',1.0,'Parent',MipAxesHandle);
    MipTextHandle = text(0,0,'','Color',[0.71,0.71,0.35],'HorizontalAlignment','center','VerticalAlignment','baseline','Parent',MipAxesHandle);  
    MipDragLineHandle = plot(0,0,'Color',[1.0,0.13,0.11],'LineStyle','-','Parent',MipAxesHandle);
    
    set(MipPrevRectangleHandle,'Visible','off');
    set(MipDragRectangleHandle,'Visible','off');
    set(MipTextHandle,'Visible','off');
    set(MipDragLineHandle,'Visible','off');
    
    set(MipFigureHandle,'WindowButtonDownFcn',@D3d.UI.MipButtonDown,...
        'WindowButtonMotionFcn',@D3d.UI.MipButtonMotion,...
        'WindowButtonUpFcn',@D3d.UI.MipButtonUp);
    end