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