亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mia_zpixval.m

?? 醫(yī)學(xué)圖像處理matlab工具箱
?? M
?? 第 1 頁 / 共 2 頁
字號(hào):
end



   
%%%
%%%  Sub-function - UpdatePixelValues
%%%

function UpdatePixelValues(imageHandle, imageType, displayBar, img, x, y)
%   This is the motion callback for when we are displaying
%   pixels.  Either we are in automatic display mode and the
%   mouse pointer is moving around or we are in normal mode
%   and there has been a button-down but not yet a button up.
%   I get the current point and update the string.

global old_pt_zoom_z x0_pan_z;%temp for zoom and pan

dbud = get(displayBar, 'UserData');

[rows, cols, colors] = size(img);
y = min(y,rows);% y > rows happens in some case /LB
rp = axes2pix(rows, get(imageHandle,'YData'),y);
cp = axes2pix(cols, get(imageHandle,'XData'),x);
r = min(rows, max(1, round(rp)));
c = min(cols, max(1, round(cp)));

if strcmp(imageType,'indexed')
   map=get(dbud.figureHandle, 'Colormap');
   idx = img(r,c);
   if ~isa(idx, 'double'),
      idx = double(idx)+1;
   end
   idx = round(idx);
   if idx<=size(map,1)
      pixel = map(idx,:);
   else
      pixel = map(end,:);
   end
else   
   pixel = double(img(r,c,:));
end

% figure out the new string
figureHandle = get(get(imageHandle, 'parent'), 'parent');
switch dbud.displayMode
case 'normal'   % Just display intensity information
	FigDataIn = get(figureHandle,'Userdata');
    ImVolume = get(FigDataIn.ImaHandlerX,'UserData');
    %x = ImVolume.X; 
    %y = ImVolume.Y;
    %z = ImVolume.Z;
    %pixel(1) = ImVolume.PixInt;
    
	if isa(img, 'uint8')
     pixval_str = sprintf(' %g,%g,%g = %3d',round(x),round(y), round(ImVolume.Z),pixel(1));
	elseif isa(img, 'int16')
     pixval_str = sprintf(' %g,%g,%g = %5d',round(x),round(y), round(ImVolume.Z), pixel(1));
	else
     pixval_str = sprintf(' %g,%g,%g = %5.1f',round(x),round(y), round(ImVolume.Z),pixel(1));
	end
    set(displayBar, 'String', pixval_str, 'UserData', dbud);
    
case 'distance'
    mouseclick = get(gcf,'SelectionType');
    if strcmp(mouseclick,'normal')
		FigDataIn = get(figureHandle,'Userdata');
		fighandlerX = FigDataIn.ImaHandlerX;
		fighandlerY = FigDataIn.ImaHandlerY;
		FigData = FigDataIn.CData;
        
		set(fighandlerX,'CData',rot90(squeeze(FigData(:,round(cp),:,:))));
		set(fighandlerY,'CData',rot90(squeeze(FigData(round(rp),:,:))));
        
        ImVolume = get(FigDataIn.ImaHandlerX,'UserData');
        ImVolume.X = x;
        ImVolume.Y = y;
        ImVolume.PixInt = pixel(1);    
        set(FigDataIn.ImaHandlerX,'UserData',ImVolume);
        
		if isa(img, 'uint8')
         pixval_str = sprintf(' %g,%g,%g = %3d',round(x),round(y), round(ImVolume.Z),pixel(1));
		elseif isa(img, 'int16')
         pixval_str = sprintf(' %g,%g,%g = %5d', round(x),round(y), round(ImVolume.Z), pixel(1));
		else
         pixval_str = sprintf(' %g,%g,%g = %5.1f',round(x),round(y), round(ImVolume.Z),pixel(1));
		end
        set(displayBar, 'String', pixval_str, 'UserData', dbud);
    elseif strcmp(mouseclick,'extend') % zoom mode
        CurrentAxes = findobj(figureHandle, 'type', 'axes');
        %set(CurrentAxes,'Units','pixel');
        new_pt = get(0,'PointerLocation');
        dy = (new_pt(2) - old_pt_zoom_z(2))/abs(old_pt_zoom_z(2))*5;
        zoomFactor = (1-dy);
        xLim=get(CurrentAxes,'XLim');
        yLim=get(CurrentAxes,'YLim');
     	xLimNew = [0 zoomFactor*diff(xLim)] + xLim(1) + (1-zoomFactor)*diff(xLim)/2;
        yLimNew = [0 zoomFactor*diff(yLim)] + yLim(1) + (1-zoomFactor)*diff(yLim)/2;	
		set(CurrentAxes,'XLim',xLimNew,'YLim',yLimNew);    
        old_pt_zoom_z  = new_pt;
    elseif strcmp(mouseclick,'alt') % pan mode
        currentPoint = get(figureHandle,'CurrentPoint');
        CurrentAxes = findobj(figureHandle, 'type', 'axes');
        set(CurrentAxes,'Units','pixel');
        dx = currentPoint - x0_pan_z;
        x0_pan_z = currentPoint;
        ap = get(CurrentAxes,'Position');
        xLim = get(CurrentAxes,'XLim');
        yLim = get(CurrentAxes,'YLim');
        set(CurrentAxes,'XLim',xLim-(diff(xLim)*dx(1)/ap(3)), ...
           'YLim',yLim+(diff(yLim)*dx(2)/ap(4)));
       set(CurrentAxes,'Units','normalized');
    elseif strcmp(mouseclick,'open')% restore the original image
        xLimNew = dbud.xLim;
        yLimNew = dbud.yLim;
        CurrentAxes = findobj(gcf, 'type', 'axes');
        set(CurrentAxes,'XLim',xLimNew,'YLim',yLimNew);
    end
    
end


%%%
%%%  Sub-function - ButtonDownOnImage
%%%

function ButtonDownOnImage

global old_pt_zoom_z x0_pan_z;%temp for zoom and pan operation

%imageHandle = gcbo;
currentHandle = gcbo;
if strcmp(get(currentHandle,'type'),'image')
    imageHandle = currentHandle;
else
    currentParentHandle = get(currentHandle,'Parent');
    currentChildrensHandles = get(currentParentHandle,'children');
    imageHandle = currentChildrensHandles(3);
end
figureHandle = get(get(imageHandle,'Parent'),'Parent');
displayBar = findobj(figureHandle, 'Tag', 'pixel value display bar');
dbud = get(displayBar, 'UserData');
axesHandle = get(imageHandle, 'Parent');

mouseclick = get(gcf,'SelectionType');
if strcmp(mouseclick,'normal')% case of distance measuring
	%
elseif strcmp(mouseclick,'alt') % pan mode
    setptr(figureHandle,'closedhand');
elseif strcmp(mouseclick,'extend') % zoom mode
    setptr(figureHandle,'glass');
end
%
% Turn on the PlotEdit options on X,Y slice images 
%
FigDataIn = get(figureHandle,'Userdata');

%delete the positioning line
ImVolume = get(FigDataIn.ImaHandlerX,'UserData');
if ishandle(ImVolume.Xxline)
    delete(ImVolume.Zxline);
    delete(ImVolume.Zyline);
    delete(ImVolume.Yxline);
    delete(ImVolume.Yyline);
    delete(ImVolume.Xxline);
    delete(ImVolume.Xyline);
end
set(FigDataIn.ImaHandlerX,'UserData',ImVolume);

% Set the initial point (x0,y0)

%pt = get(axesHandle, 'CurrentPoint');
%dbud.x0 = pt(1,1);
%dbud.y0 = pt(1,2);
%dbud.line = line('Parent', axesHandle, ...
%  'erasemode', 'xor', ...
%   'color', [1 0 0], ...
%   'Xdata', [dbud.x0 dbud.x0], ...
%   'Ydata', [dbud.y0 dbud.y0]);
dbud.displayMode = 'distance';
old_pt_zoom_z = get(0,'PointerLocation');% for zoom mode
x0_pan_z = get(figureHandle,'CurrentPoint');% for pan mode 
dbud.buttonDownImage = imageHandle;
set(displayBar, 'UserData', dbud);
set(dbud.figureHandle, 'WindowButtonUpFcn', 'mia_Zpixval(''BackToNormalPixvalDisplay'')');
PixvalMotionFcn(displayBar);


%%%
%%%  Sub-function - BackToNormalPixvalDisplay
%%%

function BackToNormalPixvalDisplay

displayBar = findobj(gcbo, 'Tag', 'pixel value display bar');
dbud = get(displayBar, 'UserData');
imageHandle = dbud.buttonDownImage;
%
% Turn off the PlotEdit options on X,Y slice images and
% write the last X,Y,Z coordinates to the FigDataIn struct
%
[imageHandleTmp,imageType,img,x,y]= OverImage(dbud.figureHandle);
figureHandle = get(get(imageHandle,'Parent'),'Parent');
FigDataIn = get(figureHandle,'Userdata');
axesHandleX = get(FigDataIn.ImaHandlerX, 'Parent');
axesHandleY = get(FigDataIn.ImaHandlerY, 'Parent');
axesHandleZ = get(FigDataIn.ImaHandlerZ, 'Parent');

%draw the positioning line
Xyrange = get(axesHandleX,'Ylim');
Xxrange = get(axesHandleX,'Xlim');
Yyrange = get(axesHandleY,'Ylim');
Yxrange = get(axesHandleY,'Xlim');
Zyrange = get(axesHandleZ,'Ylim');
Zxrange = get(axesHandleZ,'Xlim');

ImVolume = get(FigDataIn.ImaHandlerX,'UserData');
if ishandle(ImVolume.Xxline)
    delete(ImVolume.Xxline);
    delete(ImVolume.Xyline);
    delete(ImVolume.Yxline);
    delete(ImVolume.Yyline);
    delete(ImVolume.Zxline);
    delete(ImVolume.Zyline);
end


LineWidthCur = 2;
%lines in saggital slice
ImVolume.Xxline=line('Parent', axesHandleX,'color', [0 1 1],'EraseMode','xor', ....
    'LineWidth',LineWidthCur,'Xdata',[ImVolume.Y ImVolume.Y],'Ydata',[0 Xyrange(2)], ...
    'ButtonDownFcn','mia_Xpixval(''ButtonDownOnImage'')');
ImVolume.Xyline=line('Parent', axesHandleX,'color', [0 1 1],'EraseMode','xor', ...
'LineWidth',LineWidthCur,'Xdata',[0 Xxrange(2)],'Ydata', [ImVolume.Z ImVolume.Z], ...
    'ButtonDownFcn','mia_Xpixval(''ButtonDownOnImage'')');

%lines in axial slice
ImVolume.Zxline=line('Parent', axesHandleZ,'color', [0 1 1],'EraseMode','xor', ....
    'LineWidth',LineWidthCur,'Xdata',[ImVolume.X ImVolume.X],'Ydata',[0 Zyrange(2)], ...
    'ButtonDownFcn','mia_Zpixval(''ButtonDownOnImage'')');
ImVolume.Zyline=line('Parent', axesHandleZ,'color', [0 1 1],'EraseMode','xor', ...
    'LineWidth',LineWidthCur,'Xdata',[0 Zxrange(2)],'Ydata', [ImVolume.Y ImVolume.Y], ...
    'ButtonDownFcn','mia_Zpixval(''ButtonDownOnImage'')');

% set(FigDataIn.ImaHandlerX,'UserData',ImVolume);
%lines in coronal slice
ImVolume.Yxline=line('Parent', axesHandleY,'color', [0 1 1],'EraseMode','xor', ....
    'LineWidth',LineWidthCur,'Xdata',[ImVolume.X ImVolume.X],'Ydata',[0 Xyrange(2)], ...
    'ButtonDownFcn','mia_Ypixval(''ButtonDownOnImage'')');
ImVolume.Yyline=line('Parent', axesHandleY,'color', [0 1 1],'EraseMode','xor', ...
    'LineWidth',LineWidthCur,'Xdata',[0 Yxrange(2)],'Ydata', [ImVolume.Z ImVolume.Z], ...
    'ButtonDownFcn','mia_Ypixval(''ButtonDownOnImage'')');


set(FigDataIn.ImaHandlerX,'UserData',ImVolume);


%delete(dbud.line);
%dbud.line = [];
%dbud.x0 = []; dbud.y0 = [];
set(dbud.figureHandle, 'WindowButtonUpFcn', '');
dbud.displayMode = 'normal';
dbud.buttonDownImage = 0;
set(displayBar, 'UserData', dbud);
PixvalMotionFcn( displayBar);



%%% 
%%%  Sub-function - MoveDisplayBar
%%%

function MoveDisplayBar

displayBar = gcbo;
dbud = get(displayBar, 'UserData');
oldWindowMotionFcn = get(dbud.figureHandle, 'WindowButtonMotionFcn');
set(dbud.figureHandle, 'WindowButtonMotionFcn', '');
oldPointer = get(dbud.figureHandle, 'Pointer');
oldPointerShapeCData = get(dbud.figureHandle, 'PointerShapeCData');
oldPointerShapeHotSpot = get(dbud.figureHandle, 'PointerShapeHotSpot');
setptr(dbud.figureHandle,'closedhand'); 

txtpos = get(displayBar, 'Position');
frmPos = get(dbud.DisplayFrame, 'Position');
position = txtpos + [0 0 frmPos(3) 0];
position2 = dragrect(position);
dx = position2(1)-position(1);
dy = position2(2)-position(2);

txtpos = txtpos + [dx dy 0 0];
set(displayBar, 'Position', txtpos);

frmPos = frmPos + [dx dy 0 0];
set(dbud.DisplayFrame, 'Position', frmPos);

btnPos = get(dbud.CloseButton, 'Position');
btnPos = btnPos + [dx dy 0 0];
set(dbud.CloseButton, 'Position', btnPos);

set(dbud.figureHandle, 'Pointer', oldPointer, ...
   'PointerShapeCData', oldPointerShapeCData, ...
   'PointerShapeHotSpot', oldPointerShapeHotSpot)
set(dbud.figureHandle, 'WindowButtonMotionFcn', oldWindowMotionFcn);




%%%
%%%  Sub-function - DeleteDisplayBar
%%%

function DeleteDisplayBar(displayBar)
%  Take apart the pixel value display - get rid of the text
%  uicontrol and clean up the image objects (remove their 
%  UserData's and get rid of their ButtonDown & Delete Fcn's)

if nargin<1
   displayBar = findobj(gcbf, 'Tag', 'pixel value display bar');
end

if ~isempty(displayBar) % if it's empty, there's no work to do.
   dbud = get(displayBar, 'UserData');
   set(displayBar, 'DeleteFcn', '');  % Make sure there's no recursion
   if ishandle(displayBar)
      delete(displayBar); 
   end
   if ishandle(dbud.CloseButton)
      delete(dbud.CloseButton);
   end
   if ishandle(dbud.DisplayFrame)
      delete(dbud.DisplayFrame);
   end
   
   % We are once again restoring the figure state, since
   % UIRESTORE also will reactivate the SCRIBE toolbar.
   uirestore(dbud.oldFigureUIState);

   % This is what we did for IPT 2.1/ML 5.2 :
   %   uisuspend(dbud.figureHandle); 
end



%%% 
%%%  Sub-function - CreatePointer
%%% 

function [pointerShape, pointerHotSpot] = CreatePointer

pointerHotSpot = [8 8];
pointerShape = [ ...
      NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   1   1   1   1   1   1   2 NaN   2   1   1   1   1   1   1   1
   2   2   2   2   2   2   2 NaN   2   2   2   2   2   2   2   2
   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
   2   2   2   2   2   2   2 NaN   2   2   2   2   2   2   2   2
   1   1   1   1   1   1   2 NaN   2   1   1   1   1   1   1   1
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN   1   2 NaN   2   1 NaN NaN NaN NaN NaN NaN
   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN];

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本乱大交xxxxx| 欧美亚洲精品一区| 亚洲激情自拍视频| 精品第一国产综合精品aⅴ| 色综合久久中文字幕| 久久99国产精品久久| 一区二区三区在线播放| 久久久久国产一区二区三区四区| 欧美日韩成人综合在线一区二区| 成人av电影在线网| 激情综合五月天| 日韩电影在线免费| 亚洲伦理在线精品| 国产精品久久久久aaaa| 精品国产免费视频| 正在播放一区二区| 欧美体内she精高潮| av成人老司机| 国产成a人亚洲精| 蜜臀av一区二区在线观看| 亚洲尤物在线视频观看| 中文字幕在线免费不卡| 久久久精品国产免大香伊 | av一区二区三区| 卡一卡二国产精品| 日本欧美一区二区| 五月婷婷综合在线| 亚洲第一福利视频在线| 亚洲蜜臀av乱码久久精品蜜桃| 国产免费成人在线视频| 久久久久久久综合狠狠综合| 日韩欧美一区中文| 91精品国产入口在线| 欧美日韩国产首页在线观看| 91国偷自产一区二区使用方法| 94色蜜桃网一区二区三区| av在线综合网| 91免费在线看| 色偷偷88欧美精品久久久| 一本到不卡免费一区二区| 99久久精品免费精品国产| 成人av电影在线| 91年精品国产| 欧美人狂配大交3d怪物一区| 欧美一区二区三区喷汁尤物| 91精品国产91热久久久做人人| 欧美一区二区三区视频在线| 欧美大片日本大片免费观看| 久久综合九色综合欧美98| 久久精品免费在线观看| 国产精品拍天天在线| 国产精品福利影院| 亚洲女同女同女同女同女同69| 日韩一区欧美小说| 亚洲精品中文在线观看| 亚洲影视资源网| 丝袜美腿亚洲一区二区图片| 六月婷婷色综合| 国产1区2区3区精品美女| a级精品国产片在线观看| 91色porny在线视频| 欧美日韩国产首页| 精品美女在线播放| 国产女人aaa级久久久级 | 一区二区三区中文字幕| 亚洲国产日韩综合久久精品| 免费在线成人网| 国产乱国产乱300精品| aaa欧美日韩| 欧美日韩在线播放一区| 久久综合色综合88| 中文字幕一区二区三| 亚洲自拍欧美精品| 韩国中文字幕2020精品| 波多野结衣在线一区| 欧美三级电影在线看| 2欧美一区二区三区在线观看视频| 日本一区二区三区四区| 一区二区三区加勒比av| 久久成人免费电影| 99热国产精品| 91精品国产品国语在线不卡| 国产拍欧美日韩视频二区| 亚洲一二三四区| 国产一区二区伦理| 欧美系列亚洲系列| 国产精品久久久久影视| 日本中文字幕一区二区视频| 成人一级黄色片| 91精品国产综合久久精品| 中文字幕不卡一区| 奇米影视一区二区三区| 99精品欧美一区二区三区综合在线| 91精品免费在线观看| 亚洲日本青草视频在线怡红院 | 精品伦理精品一区| 伊人色综合久久天天| 国产馆精品极品| 91精品国产日韩91久久久久久| 亚洲色图制服诱惑 | 视频一区二区欧美| av网站免费线看精品| 日韩欧美www| 亚洲国产精品久久人人爱蜜臀| 国产成人av自拍| 日韩欧美一区二区免费| 亚洲国产日产av| 9l国产精品久久久久麻豆| 精品福利av导航| 免费不卡在线视频| 欧美视频在线播放| 亚洲免费色视频| 成人精品视频一区| 欧美韩国日本综合| 国产麻豆午夜三级精品| 欧美一区二区三区四区五区| 亚洲v日本v欧美v久久精品| av中文字幕不卡| 中文字幕二三区不卡| 国产麻豆视频一区| 精品少妇一区二区三区在线视频| 日韩主播视频在线| 欧美精品自拍偷拍| 亚洲成av人片在线| 欧美日韩一区二区三区免费看 | 久久久久久久久久看片| 另类小说欧美激情| 日韩一区二区视频| 免费日本视频一区| 5566中文字幕一区二区电影| 亚洲国产精品尤物yw在线观看| 色噜噜狠狠一区二区三区果冻| 亚洲日本va午夜在线电影| 成人视屏免费看| 国产精品久久久久一区二区三区共 | 亚洲乱码国产乱码精品精98午夜 | 欧美久久久久久久久| 亚洲成人综合视频| 欧美三级一区二区| 性做久久久久久久久| 欧美三级在线看| 日日摸夜夜添夜夜添精品视频| 欧美精选午夜久久久乱码6080| 亚洲成年人影院| 91麻豆精品国产91久久久| 日韩在线一二三区| 精品奇米国产一区二区三区| 韩国午夜理伦三级不卡影院| 久久综合色鬼综合色| 国产成人亚洲综合a∨婷婷 | 国产精品嫩草99a| 成人sese在线| 一个色在线综合| 91精品国产麻豆| 国产福利91精品| 综合激情成人伊人| 欧美日韩欧美一区二区| 美女在线观看视频一区二区| 久久午夜免费电影| 99re热这里只有精品视频| 亚洲一区二区av电影| 日韩欧美国产综合一区| 大桥未久av一区二区三区中文| 亚洲老司机在线| 欧美成人aa大片| 91视频com| 日本午夜一本久久久综合| 久久精品视频免费| 色丁香久综合在线久综合在线观看| 午夜视频在线观看一区二区三区 | 亚洲国产精品二十页| 色综合久久88色综合天天免费| 午夜电影网一区| 久久美女高清视频| 91国偷自产一区二区三区观看| 美洲天堂一区二卡三卡四卡视频| 久久综合九色综合欧美就去吻| 色综合久久88色综合天天免费| 美洲天堂一区二卡三卡四卡视频| 国产精品国产三级国产a| 欧美一级一区二区| 北条麻妃一区二区三区| 日产国产欧美视频一区精品| 国产精品无圣光一区二区| 欧美日韩国产系列| 成人一区二区三区视频在线观看| 午夜精品福利一区二区三区av| 久久久www成人免费无遮挡大片 | 久久久久成人黄色影片| 欧美三级蜜桃2在线观看| 国产91丝袜在线18| 日本成人中文字幕| 一区二区欧美视频| 国产欧美日韩亚州综合| 欧美乱熟臀69xxxxxx| 色综合久久中文字幕综合网| 国产美女在线观看一区| 三级精品在线观看| 一区二区三区 在线观看视频| 日本一区二区三区dvd视频在线|