~ubuntu-branches/ubuntu/trusty/mricron/trusty

« back to all changes in this revision

Viewing changes to voismooth.pas

  • Committer: Bazaar Package Importer
  • Author(s): Michael Hanke
  • Date: 2011-04-14 15:51:33 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20110414155133-sd2umdatjqjlkhzt
Tags: 0.20110413.1~dfsg.1-1
* New upstream version. FSL BET related patches are no obsolete
  and have been removed. Mricron now performs autodetection of FSL.
  Additionally it supports a system-wide configuration file at
  /etc/mricron/mricron.ini
* Patch for older lazarus versions no longer applies to the lazarus
  version in unstable. Moved this patch into backport patch series files.

Show diffs side-by-side

added added

removed removed

Lines of Context:
403
403
  //     voismoothform.ModalResult := mrCancel;
404
404
end;
405
405
 
 
406
procedure VOIinvert;
 
407
var
 
408
  lI,lImgSz: integer;
 
409
begin
 
410
  lImgSz := gMRIcroOverlay[kVOIOverlayNum].ScrnBufferItems;
 
411
  if lImgSz < 1 then exit;
 
412
  CreateUndoVol;
 
413
  Move(gMRIcroOverlay[kVOIOverlayNum].ScrnBuffer^,gBGImg.VOIUndoVol^,gBGImg.VOIUndoVolItems);
 
414
        for lI := 1 to lImgSz do
 
415
    if gBGImg.VOIUndoVol^[lI] = 0 then
 
416
      gBGImg.VOIUndoVol^[lI] := 1
 
417
    else
 
418
      gBGImg.VOIUndoVol^[lI] := 0;
 
419
                gBGImg.VOIchanged := true;
 
420
                ImgForm.Undo1Click(nil); //show smoothed buffer
 
421
end;
 
422
 
406
423
procedure Tvoismoothform.SmoothVOI_SPM5masks;
407
424
var
408
425
   lBGname,lmaskname,llesionname: string;
421
438
      SaveAsVOIorNIFTIcore(lBGName,gMRIcroOverlay[kBGOverlayNum].ImgBuffer,gMRIcroOverlay[kBGOverlayNum].ImgBufferItems,gMRIcroOverlay[kBGOverlayNum].ImgBufferBPP,1,gMRIcroOverlay[kBGOverlayNum].NiftiHdr);
422
439
   end;
423
440
   lmaskname := ChangeFilePrefix(lBGname,'m');
424
 
   lmaskname := changefileext(lmaskname, '.nii');
 
441
   lmaskname := changefileextx(lmaskname, '.nii');
425
442
   llesionname := ChangeFilePrefix(lBGname,'l');
426
 
   llesionname := changefileext(llesionname, '.nii');
 
443
   llesionname := changefileextx(llesionname, '.nii');
427
444
   if (fileexists(lmaskname)) or (fileexists(llesionname)) then begin
428
445
       showmessage ('Files already exist named '+lmaskname+'  '+llesionname);
429
446
       exit;
434
451
      lorigSS := voismoothform.ScaleSides.itemindex;
435
452
      lorigOut := xROIoutput.itemindex;
436
453
      //compute mask
437
 
      XROIfwhm.value := 8;
 
454
      //XROIfwhm.value := 8;
 
455
      XROIfwhm.value := gBGImg.LesionDilate;
438
456
      XROIthresh.value := 0.001;
439
457
      ScaleSides.itemindex:=(1);
440
458
      xROIoutput.itemindex:=(1);
441
 
      SmoothOpenVOI(nil);
 
459
      if gBGImg.LesionDilate <= 0 then
 
460
        VOIinvert
 
461
      else
 
462
          SmoothOpenVOI(nil);
442
463
      if (gBGImg.VOIUndoSlice < 1) or (gBGImg.VOIUndoOrient <> 4) then begin //should be impossible - smoothVOI creates undovol
443
464
         showmessage('Serious error.');
444
465
         exit;
445
466
      end;
446
467
      ImgForm.StatusLabel.caption := 'Smoothed :'+lMaskName;
447
 
      SaveAsVOIorNIFTIcore (lmaskname, gMRIcroOverlay[kVOIOverlayNum].ScrnBuffer,gMRIcroOverlay[kVOIOverlayNum].ScrnBufferItems, 1,1,gMRIcroOverlay[kBGOverlayNum].NiftiHdr);
 
468
      gMRIcroOverlay[kVOIOverlayNum].HdrFileName := lmaskname;
 
469
      ImgForm.SaveVOIcore(false);//12/2010  //unmirrors image
 
470
      //12/2010 SaveAsVOIorNIFTIcore (lmaskname, gMRIcroOverlay[kVOIOverlayNum].ScrnBuffer,gMRIcroOverlay[kVOIOverlayNum].ScrnBufferItems, 1,1,gMRIcroOverlay[kBGOverlayNum].NiftiHdr);
448
471
 
449
472
      //compute lesion
450
473
      UndoVolVOI;
454
477
      //ScaleSides.setitemindex(0);
455
478
      xROIoutput.itemindex:=(0);
456
479
      SmoothOpenVOI(nil);
457
 
      SaveAsVOIorNIFTIcore (llesionname, gMRIcroOverlay[kVOIOverlayNum].ScrnBuffer,gMRIcroOverlay[kVOIOverlayNum].ScrnBufferItems, 1,1,gMRIcroOverlay[kBGOverlayNum].NiftiHdr);
458
 
 
 
480
      gMRIcroOverlay[kVOIOverlayNum].HdrFileName := llesionname;
 
481
      ImgForm.SaveVOIcore(false);//12/2010  //unmirrors image
 
482
      gMRIcroOverlay[kVOIOverlayNum].HdrFileName := lmaskname;
 
483
      //SaveAsVOIorNIFTIcore (llesionname, gMRIcroOverlay[kVOIOverlayNum].ScrnBuffer,gMRIcroOverlay[kVOIOverlayNum].ScrnBufferItems, 1,1,gMRIcroOverlay[kBGOverlayNum].NiftiHdr);
459
484
      //re-init
460
485
      UndoVolVOI;
461
486