📄 avw_view.html
字号:
0317 0318 <span class="keyword">case</span> {<span class="string">'roi_9'</span>,<span class="string">'roi_7'</span>,<span class="string">'roi_5'</span>,<span class="string">'roi_3'</span>},0319 0320 position = [ AVWVIEW.slices.sag, AVWVIEW.slices.cor, AVWVIEW.slices.axi ];0321 0322 shape.type = <span class="string">'block'</span>;0323 <span class="keyword">if</span> findstr(command,<span class="string">'9'</span>), shape.size = [9,9,9]; <span class="keyword">end</span>0324 <span class="keyword">if</span> findstr(command,<span class="string">'7'</span>), shape.size = [7,7,7]; <span class="keyword">end</span>0325 <span class="keyword">if</span> findstr(command,<span class="string">'5'</span>), shape.size = [5,5,5]; <span class="keyword">end</span>0326 <span class="keyword">if</span> findstr(command,<span class="string">'3'</span>), shape.size = [3,3,3]; <span class="keyword">end</span>0327 0328 stats.roi = <a href="avw_roi.html" class="code" title="function [roi] = avw_roi(avw,position,shape)">avw_roi</a>(AVWVIEW.avw,position,shape);0329 0330 AVWVIEW.avw.stats = <a href="avw_stats.html" class="code" title="function [stat] = avw_stats(stat)">avw_stats</a>(stats);0331 0332 0333 0334 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0335 0336 <span class="keyword">case</span> {<span class="string">'nasion'</span>,<span class="string">'rpa'</span>,<span class="string">'lpa'</span>,<span class="string">'ac'</span>},0337 0338 <span class="comment">% return voxel coordinates into AVWVIEW.imgXYZ</span>0339 AVWVIEW = <a href="#_sub10" class="code" title="subfunction [AVWVIEW,metric] = slices2metric(AVWVIEW),">slices2metric</a>(AVWVIEW);0340 0341 <span class="keyword">if</span> get(AVWVIEW.handles.coord,<span class="string">'value'</span>) == 2,0342 format = <span class="string">'%7.3f %7.3f %7.3f'</span>;0343 imgXYZ = AVWVIEW.imgXYZ.mm;0344 string = sprintf(<span class="string">'%7.3f %7.3f %7.3f'</span>,imgXYZ);0345 <span class="keyword">elseif</span> get(AVWVIEW.handles.coord,<span class="string">'value'</span>) == 3,0346 format = <span class="string">'%7.3f %7.3f %7.3f'</span>;0347 imgXYZ = AVWVIEW.imgXYZ.meters;0348 string = sprintf(<span class="string">'%7.3f %7.3f %7.3f'</span>,imgXYZ);0349 <span class="keyword">else</span>0350 imgXYZ = AVWVIEW.imgXYZ.voxels;0351 string = sprintf(<span class="string">'%7.0f %7.0f %7.0f'</span>,imgXYZ);0352 <span class="keyword">end</span>;0353 0354 <span class="keyword">switch</span> command,0355 <span class="keyword">case</span> <span class="string">'nasion'</span>,0356 set(AVWVIEW.handles.nasion,<span class="string">'String'</span>,string);0357 AVWVIEW.avw.fiducials.nasion.voxels(1,:) = AVWVIEW.imgXYZ.voxels;0358 AVWVIEW.avw.fiducials.nasion.meters(1,:) = AVWVIEW.imgXYZ.meters;0359 AVWVIEW.avw.fiducials.nasion.mm(1,:) = AVWVIEW.imgXYZ.mm;0360 <span class="keyword">case</span> <span class="string">'rpa'</span>,0361 set(AVWVIEW.handles.rpa,<span class="string">'String'</span>,string);0362 AVWVIEW.avw.fiducials.rpa.voxels(1,:) = AVWVIEW.imgXYZ.voxels;0363 AVWVIEW.avw.fiducials.rpa.meters(1,:) = AVWVIEW.imgXYZ.meters;0364 AVWVIEW.avw.fiducials.rpa.mm(1,:) = AVWVIEW.imgXYZ.mm;0365 <span class="keyword">case</span> <span class="string">'lpa'</span>,0366 set(AVWVIEW.handles.lpa,<span class="string">'String'</span>,string);0367 AVWVIEW.avw.fiducials.lpa.voxels(1,:) = AVWVIEW.imgXYZ.voxels;0368 AVWVIEW.avw.fiducials.lpa.meters(1,:) = AVWVIEW.imgXYZ.meters;0369 AVWVIEW.avw.fiducials.lpa.mm(1,:) = AVWVIEW.imgXYZ.mm;0370 <span class="keyword">case</span> <span class="string">'ac'</span>,0371 set(AVWVIEW.handles.ac,<span class="string">'String'</span>,string);0372 AVWVIEW.avw.ac.voxels(1,:) = AVWVIEW.imgXYZ.voxels;0373 AVWVIEW.avw.ac.meters(1,:) = AVWVIEW.imgXYZ.meters;0374 AVWVIEW.avw.ac.mm(1,:) = AVWVIEW.imgXYZ.mm;0375 <span class="keyword">end</span>0376 0377 0378 0379 0380 0381 0382 0383 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0384 0385 <span class="keyword">case</span> <span class="string">'flip'</span>,0386 0387 <span class="comment">% flip X dim here...</span>0388 AVWVIEW.avw.img = flipdim(AVWVIEW.avw.img,1);0389 0390 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),0391 Saxi = squeeze(AVWVIEW.avw.img(:,:,AVWVIEW.slices.axi));0392 set(AVWVIEW.handles.axial_image,<span class="string">'CData'</span>,Saxi');0393 <span class="keyword">end</span>;0394 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_image'</span>),0395 Scor = squeeze(AVWVIEW.avw.img(:,AVWVIEW.slices.cor,:));0396 set(AVWVIEW.handles.coronal_image,<span class="string">'CData'</span>,Scor');0397 <span class="keyword">end</span>;0398 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_image'</span>),0399 Ssag = squeeze(AVWVIEW.avw.img(AVWVIEW.slices.sag,:,:));0400 set(AVWVIEW.handles.sagittal_image,<span class="string">'CData'</span>,Ssag');0401 <span class="keyword">end</span>;0402 0403 flipStatus = get(AVWVIEW.handles.flipStatus,<span class="string">'string'</span>);0404 <span class="keyword">if</span> strmatch(flipStatus,<span class="string">'R>>L (radiological)'</span>),0405 flipStatus = <span class="string">'L>>R (neurological)'</span>;0406 <span class="keyword">else</span>,0407 flipStatus = <span class="string">'R>>L (radiological)'</span>;0408 <span class="keyword">end</span>;0409 set(AVWVIEW.handles.flipStatus,<span class="string">'string'</span>,flipStatus);0410 0411 0412 0413 0414 0415 0416 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0417 0418 <span class="keyword">case</span> {<span class="string">'brighter'</span>,<span class="string">'dimmer'</span>,<span class="string">'setclimit'</span>},0419 0420 <span class="keyword">switch</span> command,0421 <span class="keyword">case</span> <span class="string">'brighter'</span>,0422 AVWVIEW.clim = AVWVIEW.clim .* 0.9;0423 <span class="keyword">case</span> <span class="string">'dimmer'</span>,0424 AVWVIEW.clim = AVWVIEW.clim .* 1.1;0425 <span class="keyword">case</span> <span class="string">'setclimit'</span>,0426 clim = get(AVWVIEW.handles.clim,<span class="string">'string'</span>);0427 AVWVIEW.clim(2) = str2num(clim);0428 <span class="keyword">end</span>0429 climString = sprintf(<span class="string">'%05.2f'</span>,AVWVIEW.clim(2));0430 set(AVWVIEW.handles.clim,<span class="string">'string'</span>,climString);0431 0432 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),0433 set(AVWVIEW.handles.axial_axes,<span class="string">'Clim'</span>,AVWVIEW.clim);0434 <span class="keyword">end</span>;0435 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_image'</span>),0436 set(AVWVIEW.handles.coronal_axes,<span class="string">'Clim'</span>,AVWVIEW.clim);0437 <span class="keyword">end</span>;0438 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_image'</span>),0439 set(AVWVIEW.handles.sagittal_axes,<span class="string">'Clim'</span>,AVWVIEW.clim);0440 <span class="keyword">end</span>;0441 0442 0443 0444 0445 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0446 0447 <span class="keyword">case</span> <span class="string">'contrast'</span>0448 0449 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),0450 X = squeeze(AVWVIEW.avw.img(:,:,AVWVIEW.slices.axi));0451 AVWVIEW.cmap = contrast(X);0452 colormap(AVWVIEW.handles.axial_axes,AVWVIEW.cmap);0453 <span class="keyword">end</span>;0454 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_image'</span>),0455 X = squeeze(AVWVIEW.avw.img(:,AVWVIEW.slices.cor,:));0456 AVWVIEW.cmap = contrast(X);0457 colormap(AVWVIEW.handles.axial_axes,AVWVIEW.cmap);0458 <span class="keyword">end</span>;0459 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_image'</span>),0460 X = squeeze(AVWVIEW.avw.img(AVWVIEW.slices.sag,:,:));0461 AVWVIEW.cmap = contrast(X);0462 colormap(AVWVIEW.handles.axial_axes,AVWVIEW.cmap);0463 <span class="keyword">end</span>;0464 0465 0466 0467 0468 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0469 0470 <span class="keyword">case</span> <span class="string">'setcmap'</span>0471 0472 cmapIndex = get(AVWVIEW.handles.cmap,<span class="string">'value'</span>);0473 cmapString = get(AVWVIEW.handles.cmap,<span class="string">'string'</span>);0474 0475 AVWVIEW.cmapString = cmapString{cmapIndex};0476 0477 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),0478 AVWVIEW.cmap = colormap(AVWVIEW.handles.axial_axes,AVWVIEW.cmapString);0479 <span class="keyword">end</span>;0480 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_image'</span>),0481 AVWVIEW.cmap = colormap(AVWVIEW.handles.coronal_axes,AVWVIEW.cmapString);0482 <span class="keyword">end</span>;0483 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_image'</span>),0484 AVWVIEW.cmap = colormap(AVWVIEW.handles.sagittal_axes,AVWVIEW.cmapString);0485 <span class="keyword">end</span>;0486 0487 0488 0489 0490 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0491 0492 <span class="keyword">case</span> <span class="string">'histogram'</span>,0493 0494 avw = AVWVIEW.avw;0495 0496 <span class="comment">% would be nice to use bins that reflect</span>0497 <span class="comment">% the bits per pixel, but it seems to take</span>0498 <span class="comment">% forever for a 16 bit image, otherwise</span>0499 <span class="comment">% use this code:</span>0500 <span class="comment">% %check the bits per pixel of avw</span>0501 <span class="comment">% bitpix = avw.hdr.dime.bitpix;</span>0502 <span class="comment">% % set the bins according to the data type</span>0503 <span class="comment">% if bitpix <= 8, bins = 0:255; end</span>0504 <span class="comment">% if bitpix > 8, bins = 0:65535; end</span>0505 0506 <span class="comment">%bins = linspace(0,intensity_max,255);</span>0507 0508 intensity_min = min(min(min(avw.img)));0509 intensity_max = max(max(max(avw.img)));0510 0511 bins = intensity_min:intensity_max;0512 0513 fprintf(<span class="string">'...calculating histogram for %d bins.\n'</span>,length(bins));0514 0515 <span class="keyword">for</span> i=1:size(avw.img,3),0516 n = hist(avw.img(:,:,i), bins);0517 <span class="keyword">if</span> i == 1,0518 intensity_volume = sum(n,2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -