📄 avw_view_new.html
字号:
0311
0312
0313
0314
0315
0316 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
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)));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -