| Felix Command Language Reference |

The Felix User Guide gives a detailed description of how to use the standard user interface to do virtually all of your NMR processing. The vast majority of users will never require more functionality than that provided by the standard user interface.
The Felix Command Language Reference Guide is written for advanced users who wish to enhance, modify, and extend the abilities of Felix for their special requirements. This guide contains complete descriptions of all the elements that comprise FCL. FCL commands are two or three letters, and in this documentation are presented in boldface type. Commands are case sensitive, although command arguments are not (see Case sensitivity). Symbols are also boldfaced, while parameter names are presented in the format: <parameter name>.
Using this guide
This chapter gives a brief introduction to the major components of FCL. Chapter 2, FCL Basics, explains the syntax of Felix command lines and the behavior of the Felix command interpreter. Chapter 3, Symbols and Expressions, discusses the use of symbols and arithmetic expressions. Chapter 4, Macros, details writing macros and introduces the directives that control macro execution. Chapter 5, Real-Time Displays, illustrates the building of real-time display macros that generate animated graphics, showing the effect of changing command parameter values in real-time. Chapter 6, The Database, presents a detailed explanation of the database commands and explains how to store and extract information. Appendix A, Command Reference, lists the FCL commands and gives short descriptions of how they are used. Appendix B, Symbol Reference, lists the symbols used by FCL and gives descriptions of how they interact with FCL commands. Appendix C, Macro Examples gives a few examples to get you started with writing your own macros. Please note that all references citations in this manual are listed in Appendix A, References, in the Felix book.
FCL command line
This section introduces some of the basics of FCL and the conventions used in the manual to describe the command syntax. Throughout this manual, a bold font is used to distinguish FCL commands the surrounding text. Also throughout the manual, the prompt (>) is displayed on example lines. Do not enter these symbols when using the program. When a command is shown in its general form, any parameter is represented by a text description surrounded by angle brackets (<text>). For example, the descriptive form and the explicit form of the command that defines the spectral width of a spectrum (swidth) are shown below.
def swidth <spectral width> (as described in the manual)
def swidth 4386 (as you would enter it)Note that the angle brackets around the parameter are not entered. To execute FCL commands, a carriage return must follow the command or parameter.
The commands within FCL consist of two- and three-letter acronyms, which symbolize the action of the command. Each command performs some function or changes the state of the program in some way. For example, the following commands,
ft
hcprepresent two simple examples of FCL commands. The ft command causes Felix to perform a Fourier transform on the data in the workspace, while the hcp command generates a hard copy output of the current spectral display. Note that a carriage return (<Enter>) must follow each of the commands for the action to take place. A list of the FCL commands along with a detailed description of their functions is found in Appendix A, Command Reference.
Symbols and expressions
One of Felix's most useful capabilities is that it allows you to use symbols to represent any value or parameter you wish. This symbolic substitution capability allows flexibility within the program and within the macros, which in turn allows automatic processing within Felix. There are two distinct types of symbols within the program, reserved symbols and user symbols.
Macros
Macros are an essential feature of the Felix data processing philosophy. A macro is simply a text file containing a series of Felix commands, which together perform a specific task. You can edit a macro file using most text editors. In addition to direct commands, a macro can contain symbol substitution, arithmetic expressions, and flow control statements (i.e. for loops, if/then/else statements, go to's, and subroutine calls). In effect, macros combine the capabilities of a programming language with the standard capabilities of Felix, allowing you to design customized processing procedures. Menus
The graphical user interface of Felix contains a variety of menu bars, pulldown menus, icons, and dialog boxes that interact with the user to simplify data analysis and processing. You can modify the components of the graphical user interface if you wish. In fact, the graphical user interface consists of a set of Felix macros that use specific commands to build and display graphical menus. Within Felix, you can therefore customize the program's interface to meet the needs of your laboratory by simply editing the menu interface macros provided, or by writing your own. The database
An NMR data processing program is only as good as its ability to store and retrieve the spectral information that it produces. In this regard, Felix again combines power and flexibility. The Felix database provides fast and efficient sorted access to large sets of spectral data. Many FCL commands directly generate or read whole datasets, like ND peakpicking and volume integration. Generating baseline points creates a dataset in the database, while the commands for baseline correction read that same dataset of baseline points to perform their flattening of the spectrum's baseline.
Operating system access
When Felix is running in command mode it is possible to access the UNIX operating system without exiting the program or opening a separate graphics window. To perform this action, enter the command sys from the command interface. When in system mode (characterized by the "sys>" prompt), almost all of the normal operating system commands are functional. It is possible to edit, print, or type any file just as you would if you were not running Felix. You may not, however, change directories while in system mode. To return to Felix from the system mode prompt, enter quit or press <Ctrl>-<d>.