1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
unit perisettings;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Spin,
StdCtrls, define_types;
type
{ TPSForm }
TPSForm = class(TForm)
BinWidthEdit: TFloatSpinEdit;
OKBtn: TButton;
SavePSVolCheck: TCheckBox;
PctSignalCheck: TCheckBox;
ModelCheck: TCheckBox;
RegressCheck: TCheckBox;
TDCheck: TCheckBox;
SliceTImeCheck: TCheckBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
PreBinEdit: TSpinEdit;
PostBinEdit: TSpinEdit;
procedure FormShow(Sender: TObject);
function GetPeriSettings(var lPSPlot: TPSPlot): boolean;
procedure OKBtnClick(Sender: TObject);
procedure RegressCheckClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
PSForm: TPSForm;
implementation
uses nifti_img_view;
function TPSForm.GetPeriSettings(var lPSPlot: TPSPlot): boolean;
begin
result := false;
if lPSPlot.TRSec <= 0 then begin
showmessage('Please specify the TR (in seconds) before creating a peristimulus plot.');
exit;
end;
if BinWidthEdit.value = 0 then
BinWidthEdit.value := lPSPlot.TRsec;
PSForm.ShowModal;
if BinWidthEdit.value = 0 then
BinWidthEdit.value := lPSPlot.TRsec
else
lPSPlot.BinWidthSec := BinWidthEdit.Value;
lPSPlot.nNegBins := PreBinEdit.value;
lPSPlot.nPosBins := PostBinEdit.value;
lPSPlot.SliceTime := SliceTimeCheck.checked;
lPSPlot.SavePSVol := SavePSVolCheck.checked;
lPSPlot.BaselineCorrect := ModelCheck.checked;
lPSPlot.PctSignal := PctSignalCheck.checked;
lPSPlot.RemoveRegressorVariability := RegressCheck.checked;
lPSPlot.TemporalDeriv := TDcheck.checked;
lPSPlot.PlotModel := ModelCheck.checked;
lPSPlot.SPMDefaultsStatsFmriT := gBGImg.SPMDefaultsStatsFmriT;
lPSPlot.SPMDefaultsStatsFmriT0 := gBGImg.SPMDefaultsStatsFmriT0;
result := true;
end;
procedure TPSForm.FormShow(Sender: TObject);
begin
RegressCheckClick(nil);
end;
procedure TPSForm.OKBtnClick(Sender: TObject);
begin
end;
procedure TPSForm.RegressCheckClick(Sender: TObject);
begin
TDCheck.visible := RegressCheck.checked;
ModelCheck.Visible := RegressCheck.checked;
end;
initialization
{$I perisettings.lrs}
end.
|