1\documentstyle[12pt,art12cox,epsf]{article}
2
3\newcommand{\afni}{{\it AFNI\,}}
4\newcommand{\afnit}{{\it AFNI\/}\ }
5\newcommand{\tothreed}{{\sf to3d\,}}
6\newcommand{\tothreedit}{{\sf to3d\/}\ }
7\newcommand{\MCW}{{\sf MCW}}
8
9\setlength{\topmargin}{0.0in}
10\setlength{\textheight}{9.02in}
11\setlength{\textwidth}{6.5in}
12\setlength{\oddsidemargin}{0.25in}
13\setlength{\evensidemargin}{0.25in}
14\setlength{\parskip}{0.9ex plus 0.1ex}
15\setlength{\parindent}{0em}
16
17\hyphenpenalty=200
18\widowpenalty=9999
19\brokenpenalty=10000
20\dashpage
21\raggedbottom
22\nofiles
23
24\newcommand{\blob}{\hspace*{1em}}
25\newcommand{\vex}{\vspace{1ex}}
26
27\setlength{\fboxsep}{1.3pt}
28\setlength{\fboxrule}{0.6pt}
29\newcommand{\button}[1]{\fbox{\tt #1}}
30
31%---------------------------------------------------------------------
32\begin{document}
33
34\centerline{\Large\bf Documentation for Real-Time \afni}\vex
35\centerline{\large\bf Robert W. Cox, PhD}\vex
36
37When run with the `{\tt -rt}' command line switch, \afnit will enable the
38real-time plugin, which can acquire reconstructed image data from
39another program, assemble it into a 3D+time dataset, do 2D (slice-wise)
40or 3D (volume-wise) registration, and do real-time functional
41activation calculations.
42
43\displayline{Controlling the Real-Time Plugin}
44The control panel for this plugin, shown below, is activated with the Plugin menu
45item `{\tt RT~Options}'.\\[-2ex]
46{\hspace*{1.1in}\epsfxsize=5.4in\epsffile{realtime.eps}}
47
48
49\displayline{Program {\tt rtfeedme}}
50Program `{\tt rtfeedme}' will send slices from a 3D+time dataset to the \afnit
51real-time plugin, for reassembly into a new dataset.  Its purpose is
52to exercise the real-time capabilities of \afnit without occupying the
53actual scanner.  {\tt rtfeedme} is a command line program, whose
54usage is\\[-1ex]
55\centerline{\tt rtfeedme [options] dataset}\\[1ex]
56where {\tt dataset} specifies the input \afnit 3D+time dataset to be
57transmitted to the plugin.  The available options are:\\[-4ex]
58\begin{tabbing}
59  X \= -host sname XX \= \kill
60  \> {\tt -host sname} \> \parbox[t]{5.05in}{
61                             Send data, via TCP/IP, to \afnit running on the
62                             computer system `{\tt sname}'.  By default, uses the
63                             current system, and transfers data using shared
64                             memory.  To send on the current system using
65                             TCP/IP, use the system `{\tt localhost}'.} \\[1ex]
66%
67  \> {\tt -dt ms}      \> \parbox[t]{5.05in}{
68                             Tries to maintain an inter-transmit interval of
69                             `{\tt ms}' milliseconds.
70                            The default is to send data as fast as possible.
71                            Combined with the real-time 3D registration algorithm
72                            in \afni, this might put a very heavy load on the
73                            computer system.} \\[1ex]
74%
75  \> {\tt -3D}         \> \parbox[t]{5.05in}{
76                            Sends data in 3D bricks.  By default, sends
77                            2D slices.} \\[1ex]
78%
79  \> {\tt -verbose}    \>  \parbox[t]{5.05in}{Be talkative about actions---for
80                                             debugging, mostly.} \\[1ex]
81%
82  \> {\tt -swap2}      \>  \parbox[t]{5.05in}{
83                              Swap byte pairs before sending data.
84                              (Useful for sending data between Intel and SGI
85                               systems, for example.)}
86\end{tabbing}
87The dataset assembled by the real-time plugin will not necessarily
88be identical to the input dataset.  In particular, the 2D slices are
89sent in sequential order, not alternating order.
90
91\displayline{Protocol for Real-Time Image Transfer}
92The real-time plugin accepts reconstructed image data only; it does not
93perform image reconstruction from $k$-space data.  Image data can be transferred
94to \afnit using an IPC shared memory segment (if the image source
95program is on the same computer) or using a TCP/IP socket (if the image source
96program is on a different computer).
97
98\end{document}
99