You are on page 1of 92

WHATSNEW.

DOC Revision Status of NUTS NMR Data Processing Program 1/27/08 DR - Equations for first-order kinetics have been added to the DR routine, used for analysis of relaxation data. PH - The mouse phasing routine was modified so that setting of the pivot point a nd phasing with PH now work with an expanded (zoom) display, and not just in ful l display. 12/14/07 IM - Importing of Siemens .rda files was failing with a NUTS crash if the file d id not contain any text for "Study Description". This was fixed. 12/12/2007 GR - The GR command was modified to copy the list of integrals to the clipboard. The list can be pasted into a text editor or spreadsheet. The maximum number of integrals was increased from 64 to 256. Note that relaxation analysis with D R is still limited to 64 values. 11/14/07 LP - Display of parameters on the spectrum was modified to stay in the upper lef t corner of the plot regardless of the zoom limits. 7/6/07 DT - fixed a bug that could cause NUTS to crash when a data table or parts of th e table were deleted. 6/20/07 nutsini - This (non-2-letter) command causes NUTS to re-read the nuts.ini file, resetting default parameters. In some cases, it is useful to have different nut s.ini files, so this command has been modified to allow a file name to be specif ied. 6/13/2007 DT - the contents of a data table can be placed into the clipboard in the format recommended by ACS for journal publication. There are 2 commands, for 1H and f or 13C data. The commands must be entered in the non-2-letter command mode (2F) . The data table must consist of the correct columns, in the correct order, or the command will either fail or yield nonsense. If some information is missing , it will be ignored. For 1H output, the data table must consist of these columns, in this order, whic h is the default data table created by the DT command: ID 1 2 PPM 6.67 3.85 Mult d s #Hs 1 3 J 8.7 Assign 8 15

dt hacs - outputs the above table to the clipboard as: 1H NMR: (399.8 MHz, CHLO ROFORM-D) delta 6.67 (8, d, J = 8.7 Hz, 1H), 3.85 (15, s, 3H); For 13C output, the data table must consists of these columns, in this order, wh ich is the default data table created by the "dt getpeaks" command: ID PPM Mul Comment

1 2 3

119.6 112.9 91.2

CH q CH2

dt cacs - outputs the above data table to the clipboard as: 13C NMR: (100.5 MHz , CHLOROFORM-D) delta 119.6 (CH), 112.9 (q), 91.2 (CH2); 5/30/07 Notes - It is now possible to specify vertical font orientation, which can be se t in the dialog box when the note is created and edited. The font orientation i s saved with the Note in the file "tailer", and read back when the file is opene d later. DT - When chemical shift values are loaded into the table with the "dt getpeaks" command, it is now possible to choose whether the list will be ordered as incre asing or as decreasing ppm values. The command is "dt ppmorder up" or "dt ppmor der down", and must be set before the getpeaks command. DT - If a table already exists, the command DT asks the user if the current data table should really be deleted. The YES response was not being properly proces sed, and the operation aborted. This now works correctly. DT - The default table created with the DT command was altered so the columns ma tch the ACS guidelines for listing 1H NMR data. 3/30/07 IM - The test for JCAMP files was testing for "JCAMPDX=" or JCAMP-DX=", but fail ed if there was a space before the equal sign. It now checks for both with and without the equal sign. 3/28/07 DT - Spaces were inserted in empty cells when a data table is saved as a tab-sep arated file, so data is displayed in the correct cells when the file is read bac k at a later time. DC - The DC routine is used to adjust the vertical position of the spectrum. Ty ping 0 while in the DC routine sets the spectrum back to the bottom of the windo w. It is now possible to enter a number from 0 to 9, to set the vertical positi on to incrementally higher up the window. 3/14/2007 LF - When a text file is written containing peak information, AREA is now being written to the file, along with frequency, intensity, line width and fraction lo rentzian. The AREA value is not read when the file is read back in. 2/8/07 PH - It is possible to set the phasing pivot point while inside the PH routine. Place the mouse cursor on the chosen peak (with or without pressing the mouse b utton) and type P. A vertical red cusor is drawn at the chosen peak, to show th e pivot point. nuts.ini - When specifying a nuts.ini file to be used when launching NUTS, an er ror message was displayed. The specified nuts.ini file was still being read cor rectly, but the anomalous error message was confusing, and has been removed. 2/1/2007 DT - To make navigating around a Data Table easier, the arrow keys move between cells and rows if a data table is currently displayed. If there is no data tabl e, the arrow keys scale and scroll, as previously.

1/29/07 PE - added status bar notation when entering PE subroutine. 1/24/2007 IP/CP - Now that border spectra are aligned by ppm, not by Hz, the SF value must be initialized for each of the projections, in order to use actual projections of the 2D data. The SF values weren't being set, so the projections weren't dra wn. Fixed. 1/17/2007 WV - The apodization function displayed in the Window View subroutine was being drawn off scale for a Traficante (TF) window function. The display has been sca led to correct that. IP/CP - When switching between homonuclear and heteronuclear 2D data, mis-match between border spectra and 2D data could cause a crash due to attempting to draw points outside the actual range of data. This was corrected. 12/8/06 LL, DT and CP - added new commands that work with the Line List and Data Table f eatures while displaying an intensity or contour plot. Select a cell in a data table that contains a chemical shift. The commands HL and VL will draw on the c ontour plot a horizontal line or vertical line, respectively, at the correspondi ng chemical shift. CP - Setting the chemical shift using the cursor did not result in very accurate results, due to integer round-off and limited digital resolution. This has bee n improved, and works best if "interpolation" and "snap to maximum" are un-selec ted in the dialog box. More decimal places are now displayed for chemical shift values. CP - a slight mis-alignment between border spectra and the axes was corrected. 11/23/06 QP, AP, QA - Made auto-phasing "array-aware". When in arrayed mode, when auto-p hase of a slice is completed, the resulting phase correction is applied to all s lices. Cursor - (1D display only) - A new function has been added to the routine that d isplays frequency information at the cursor location. In the Base level of NUTS , while the cursor is displayed in "difference mode", typing L on the keyboard c reates a text annotation at the cursor location. The text displayed is the freq uency difference, in Hz, corresponding to the cursors. This allows multiplets t o be labeled with the measured coupling. The text is a "note" and can be edited or deleted from the NOTES subroutine. DT - Fixed an error with appending and inserting a column in the table. The err or arose because the width of the last column was not properly initialized. 11/10/06 Zoom - d and u subcommands disabled Menus - QB added to the main menu; a few other items were rearranged 9/7/06 IP/CP - display of high-resolution "border" spectra on 2D plots was changed to a lign 1D and 2D spectra based on ppm, rather than on Hz. This allows border spec tra acquired at different field strength from the 2D data to be used.

Zoom - D and U subcommands disabled 8/17/06 PH - To make phase adjustments faster for real-time phasing, the number of point s used for the PH routine is smaller than the total data size. This can make it harder to see small changes during phasing. The number of points used for redu ced data display was increased from 1024 to 4096. 7/18/06 IM - Bruker XwinNMR and TopSpin imports were changed to read SW in ppm and then calculate SW by mutliplying this be SF. The SW_h value in the acqus file is not the correct value for sweep width. 7/12/2006 DT - Display of the data table while in 2D display mode was enabled. Two new da ta table commands were added. While holding down the left mouse button, typing 1 places the chemical shift at the cursor location of dimension 1 into the curre ntly selected cell. This is the same as the "S" command. A similar command, 2, was added to place the dimension 2 chemical shift into the data table. DT - menus for some data table commands were added to the Tools menu. 5/2/06 VW - Added a menu for this subroutine 3/31/06 IM - Bruker Topspin data (version 1.3 and greater) has a new parameter GRPDLY in the acqus file. For DSPFVS values between 20 and 23, inclusive, GRPDLY is the number of zeroed points at the beginning of the FID. NUTS now uses this value, if found, as the number of points to rotate the data using the RD command. FX - Polynomial baseline correction using FX now works on 3D data. 3/6/06 IM - When importing GE Med Systems data for Version 11 software, a byte swap was being applied to the SF value, resulting in an incorrect value. Removing the b yte swap seems to give the correct SF. 2/22/06 IM - The pulse angle parameter was not being initialized before a data file was read. This caused the value from a previous file to carry over to a new file, i f the new file did not contain a value for this parameter. Pulse angle is now i nitialized. For Delta imports, the pulse angle is obtained either by reading x_angle or it i s calculated as 90*x_pulse/x90. 2/20/06 DP - While in 2D Zoom display, the labels for 2D peaks not within the current zo om region were being displayed above and below the plots. This was corrected by checking to be sure the peak is within zoom limits in both dimensions before th e label is printed. 2/15/06 EP - This new command operates only in 2D display mode (IP and CP), and displays the Edit Display Parameters dialog box, which allows setting of plot margins an d scaling factors for spectra displayed along the borders of the 2D plot. Borders - When selecting spectra to be displayed along the borders of a 2D plot, NUTS now "remembers" the previously selected file, making it easier to select t

he same file for borders along different sides of the plot. IS - In the Inset Plots subroutine, the mouse can be used to draw a "rubber band box" around a region of the spectrum, which selects that region as an inset. I f the user were to click the mouse, instead of dragging, the selected region con sisted of just one point. This caused NUTS to crash. The program now checks fo r this to prevent a crash. FJ - This new command sets the font used by the Compare function. DP - When working with 2D data, numerical peak labels were being reset automatic ally, causing loss of labels set by the user. This was corrected. DP - A new subcommand, P, was added. This command generates a list of peaks con taining just the ppm values and the label for each peak, and copies this list to the clipboard. Tabs are used to separate columns. The similar command, T, gen erates a list containing ppm, Hz and intensity values, which is sometimes more i nformation than the user really wants. 2/8/06 The acquisition time (AT) in the parameters dialog changed during processing alculated at the time the was being calculated from SW and data size for display box and with the LP command. But size or SW might be (eg, zero-filling), causing AT to change. AT is now c data is opened, and remains unchanged.

Two new parameters were added to the LP list: FID data sizes in the first and se cond dimensions. These are calculated at the time the data is opened, and remai n unchanged during processing (eg, zero-filling). Two numbers are now printed o n plots for pts1D and pts2D - the first is the FID size, the second is the curre nt data size. FN - A problem with File New command was fixed. The command was created to set parameters such as size, SW and SF in the absence of an actual data file. This is needed for spin simulation. When the Cancel button was clicked, parameters w ere not being set back to their original values. Fixed. 10/19/05 DT - The ability to copy a Data Table to the Windows clipboard was added. The n ew command is a non-2-letter command, "DT clipboard" or "DT clip". The table is copied with tabs separating the columns, for easy pasting into a report or spre adsheet. IM - A pulse angle parameter was added to Nuts. The Jeol Delta import routine n ow imports x_angle, and (if non-zero) prints this value on the bottom of plots a nd in the LP list, along with the value in usec. The pulse angle is also displa yed in the Acquisition Parameters dialog box. IM - JEOL Delta files have a field they call "Comment" (which is not the same as the Comment field in NUTS). The import routine now appends the contents of thi s field, in parentheses, to the NUTS comment field (which is derived from JEOL's Sample ID field). Usually, this additional information is a short description of the experiment that was performed. 9/14/05 The DP and LF subroutines were modified to utilize tabs in lists of peak informa tion, if the TB (tabs) option is set to TRUE. This facilitates pasting the list into a spreadsheet. 8/29/05 IM - Importing of data from the new Varian Direct-Drive spectrometers was implem

ented. The format includes only one small variation from the old data - bit 7 o f the data block header (labeled "acqpar) was previously unused. It is now bein g used to flag ddr data. (This change occurred with a software patch, not in th e original software version.) NUTS was, erroneously, reading bit 7 instead of b it 5 as a flag for hypercomplex data. This caused NUTS to read the new Varian d ata files incorrectly. This has been fixed. 7/10/05 When setting Zoom limits (ZO subcommand F), the limits were incorrectly being re set when the dialog box closed. This was corrected. 7/7/05 IM - Import of GE Med Systems data was modified to accommodate software version 11. A problem with display of axes was fixed. The symptom was the axis could be dra wn starting at the wrong screen position if the displayed region began with a ne gative chemical shift. 6/24/05 MO - The MetaObjects subroutine can be used to create inset plots that include i ntegrals and/or peak labels (if they are displayed on the screen at the time the inset is created). By contrast, the IS subroutine does not display either inte grals or peak labels. One problem with the MO routine was that the font sizes used for integral and pe ak labels were being scaled to be too small to be legible. This has been correc ted. 6/23/05 CD - The Color Display command sets the display to whatever colors to user has d efined in the nuts.ini file. It is the inverse of the BW command (Black and Whi te Display), which changes all colors to be displayed as black. The CD command also turns on the option to print in color, but BW does not set colors for print ing to black only. MP - Monochrome Plot - This is a new command sets the printing option so that al l colors are replaced by black. The colors shown on the screen are not changed. If color printing is enabled, printing to a non-color printer will cause the c olors to be represented by shades of grey, which may be too faint to be clearly visible. Whether or not printing should be in color is set in the nuts.ini file with the command "print_color" which is set to either TRUE or False. This opti on can also be set from the File/Page Setup menu. By combining the two commands, CD and MP, the display can be set to color and pr inting set to black and white, from the keyboard and in Links and Macros. 6/22/05 SP - When the "zoom" limits were set in the stacked plot subroutine, ppm values were being calculated based on the frequency of the center of the spectrum, rath er than 0 ppm. This error could cause the expanded display limits to change sli ghtly on closing the dialog box, causing the spectrum to appear to jump left or right. The calculation of frequency limits has been changed to conform to the N MR convention, which is that the value used is the frequency at 0 ppm. The diff erence is usually insignificant unless observing alow frequency nuclei with larg e chemical shift range, where the spectral window is offset from 0 ppm by a larg e amount. ML - In the molfile subroutine, the D subcommand deletes the current molfile. T he command was added to the Edit menu. nutsini - This command causes NUTS to reset default values by re-reading the nut

s.ini file. An error was causing the current data to be deleted when this comma nd was executed. This has been corrected. 6/14/05 A programming error caused some commands to be misinterpreted by NUTS. In one c ase, typing RH (a non-existent command) was interpreted as UH (Update Header). This has been corrected. cmdlog - When a previously processed data file is re-opened, any new commands sh ould be appended to the previous command log. A bug was causing the previous co mmand log to be replaced. This has been corrected. 6/8/05 PL - The print setup dialog box had been changed in the course of debugging some print problems. It has now been set back to the correct "setup". BU - When changes were made in the BU properties dialog box, the buffer scale fa ctor was being reset, due to having designated too few digits for this value. M ore decimal places were added, correcting the problem. PN - This command should turn on display of peak labels. It was also selecting the option of displaying the peak information label instead of the user's settin g of ppm, Hz or text label. This was corrected. 5/13/05 PL - Some changes were made in an attempt to correct a long-term problem with so me printer drivers. The symptom was that the axis, integrals and/or peal labels appeared compressed at the far left edge of the plot, even though the spectrum was plotted correctly. In some cases, this occurred only on the first plot. Th e problem appears to be corrected. NS - Changes were made to the matrix diagonalization routine, resulting in a spe ed improvement of about 2x. NS and ZO - A problem with Zoom-within-Zoom while in the NS subroutine was fixed . RD - Right-hand rotation did not work properly for 2D data. This has been fixed . IP and CP - An error in how the axis tick marks were calculated for 2D displays caused the tick marks and ppm numbers to extend past the end of the plot, if the low-field end of the plot was a negative chemical shift. This was fixed. 4/20/05 CP - fixed a couple of bugs created in the process of the speed improvements for contour plots, which caused drawing outside the plot limits and gaps in contour lines. PL - Printing to a .pdf document was inconvenient because the Adobe PDF Writer i nsisted on creating a separate disk file for each page plotted, and combining th e files is tedious. New commands were created to allow multiple plots to be spo oled to a .pdf document together. New command "startdoc" tells NUTS to plot but without closing the "document". Successive plots can be spooled, but are not se nt to the printer until a "enddoc" command is given. 4/13/05

cmdlog - implemented suspension of command logging while in a Link. For 2D proc essing in non-arrayed mode, every command in every loop of the Links was being l ogged, making the command log section of the file header huge, and consequently re-opening the file was very slow. 4/6/05 macros - Preliminary branching capability has been added. An IF statement can b e used to either execute or skip the line immediately following. In the macro b elow, the first few lines place the solvent name (text string) into a text buffe r called "strcmp". The IF statement tests whether strcmp is equal to cdcl3. If it is, the macro executes the line after the IF statement (sets the tallest pea k to 0 ppm). Otherwise, that line is skipped. Note that this operation is case sensitive! NUTSMACRO 2f solvent, 2n, if strcmp cdcl3 SZ end Currently, the only other use of IF is for nucleus, as shown here. The first 3 lines put the current nucleus name into the text string buffer. NUTSMACRO 2f nucleus, 2n, if strcmp 13C set LB 2 end It is now possible to include labels and GOTO statements. The destination of a GOTO may be either before or after the GOTO. The label must begin with a colon (:). For example, in the macro below, the FT command is skipped. NUTSMACRO ; the program will jump to the ":theend" label ; and bypass the ft command goto theend ft :theend end NU - This command returns the current nucleus parameter, and allows the user to set the nucleus type. ini or nutsini - reinitializes parameters to those defined in the nuts.ini file. DT - If a data table already exists when DT is typed, NUTS asks if the current t able should really be deleted and replaced with a new, blank data table. This w as added to prevent accidental loss of data. 4/4/05 All versions of NUTS, including Shareware and Lite, are now able to display (but not process) 2D data files, except those processed and saved using the phase-se nsitive array mode 2. 3/30/05

CP - Changes were made to speed up drawing of contour plots by reducing the numb er of calculations performed. Contour plots are now about 4x faster. The conto ur plot is calculated and drawn to memory, then that image is copied to the scre en. This means that with a large contour plot, you no longer see the screen pai nt from bottom to top as the calculation proceeds. To avoid having the screen b lank during the calculation, an intensity plot is displayed, and is replaced by a contour plot as soon as the calculation is complete. If display mode is chang ed to Slow Display (SD), drawing to memory is skipped and the operation is perfo rmed as in older versions. Returning to Quick Display (QD) switches back to dra wing to memory. 10:50 AM 2/23/2005 IP/CP and PL - After printing in 2D display mode, the screen was not being redra wn. This meant that the cursor position could not be determined, causing failur e of the frequency readout generated by the "target" cursor and selection of a n ew zoom region using the cursor. The problem was fixed by forcing the screen to be redrawn after every plot. PH and PE - The nuts.ini preferences file allows the user to select the directio n of mouse movements to be used when phasing with PE and PH commands. The choic es are left/right or up/down or a combination. An error was discovered that aff ected implementation of up/down mouse movements in phasing, causing the phase to jump when attempting to phase. The error was corrected. 2/16/05 IM - An error was corrected involving conversion of Bruker Aspect 24-bit numbers . The error involved the least significant bits, so resulted in a very small in accuracy in parameter values imported. 2/9/05 IM - Importing of JEOL Delta 3D data was expanded to include data that are complex in all 3 dimensions. Warning: The new import is still being tested. Previously, this only worked for data that were real in both indirect dimensions . In the process, an error in importing the (complex, real, real) 3D data was fixe d. 2/4/2005 11:37 AM IM - The Spectrometer/Data System information captured in the import process was added to the file headers and can be viewed with the IF (info) command. This information was then used to help determine the RD points to rotate for processing digitally filtered data. As more types of imports now require cyclic data point rotation, determining the number of points to rotate was becoming more complex. Some errors in this logic were found, so the logic for determining the number of points to rotate data before FT in the RD command was revised to use the Spectrometer/Data System information captured in the import process. Note that because the Spectrometer/Data System information is now used, modifying this field can lead to unpredictable results when doing FTs and RD. 1/26/2005 2:56 PM IM An Import filter was added for Siemens RDA data. 1/26/2005 11:31 AM BU - A label (comment) for the base spectrum was added to the buffer routine. The comment is printed near the base spectrum with the same text characteristics as the first buffer's comment in the

buffer linked list. 1/25/2005 6:04 PM SY - The symmetrize command was expanded to accept an argument in the non-2-lettered command mode. This command was designed to symmetrize a 2D spectrum from a J-resolved and tilted data set. Without an argument this command's usage remains unchanged and symmetrizes a square 2D spectrum about the diagonal. With the argument "tilted" this command symmetrizes a 2D data set about its vertical center. The minimum absolute value if the mirrored data points is retained and the larger value is discarded. The command syntax is: SY tilted 1/19/05 cmdlog - Several changes were made to the Command Log function to correct errors and capture more parameters. 12/10/04 DT - New command to create an editable Data Table on the NUTS screen into which can be placed text and spectral data such as chemical shifts and coupling consta nts. 11/11/04 11:53AM IM The importing of Bruker TopSpin data was changed such that the XWin importing procedures are used instead of the more general Bruker Unix imports. 11/07/04 4:13PM IM Importing of JEOL Delta was enhanced to get more parameters. 11/05/04 3:11PM IM Importing of JEOL Delta "Small_two_D" data was added. IM The JEOL Delta import filter was modified to detect when digital filtering was used, and to set the number of points that need to be rotated with RD before FT. If the oversampling factor is 4 or 8, this is set to 19 points. If the oversampling factor is 2, this is set to 17 points. 11/2/2004 2:04 PM AI - The Ai routines were modified as follows. Continuous segments with no peaks above MH are ignored. The RM value can be used to change the sensitivity by which AI determines which segments have peaks. In the non-2-lettered command mode, the AI command will accept some arguments: AI AI AI AI segments number show on show off show

The first command sets the number of segments the spectrum is divided into to look for segments which contain peaks. The default is 256 segments. The second commands turns on a displaying mode showing segments identified as having peaks. The third command turns off the above displaying mode.

The fourth command toggles the above displaying mode. 10/11/2004 3:28 PM CP and IP - When the flag to force square 2D plots was turned on, the outer extents of the plot were square but the actual 2D plot was not square due to possible margins and room for the parameters. So the plotting routines with this flag active were modified to make the 2D contour or intensity plot itself square. 10/9/2004 3:21 PM SQUARE2D - This command was added to allow the user or a macro to turn on the forcing of square 2D plots. Used without arguments it toggles the current value of the variable to force printing of square 2D plots. The command also accepts two possible arguments: square2d on or square2d off 10/8/2004 4:29 PM metafile - a command was added to allow the user or a macro to create metafiles to the clipboard. With no arguments NUTS generates an enhanced metafile to the clipboard. There are two possible arguments: Metafile enhanced_standard_clipboard Metafile enhanced_printer_clipboard The first example uses a screen device context to generate an enhanced metafile. The second example uses a printer device context to generate an enhanced metafile. This is to allow the use of the printers higher resolution device context. 10/8/2004 12:21 PM sum - the sum command was expanded to allow the summing of planes in a 3D data set. When the second argument of the "sum" command is "planes", all planes of a 3D data set are summed into a single 2D data set. The command also takes additional optional arguments allowing the user to specify the starting and ending planes to sum. The original 3D data set is destroy and replaced by a new 3D data set which has only one plane. The command must be used in the 3D arrayed mode. sum planes <start> <end> The previous usage of the "sum" command to add slices of a 2D data set remains unaffected. 10/8/2004 10:27 AM IM - The JCAMPDX imports were modified to read a chemical shift reference value with FIDs and spectra used by Varian JCAMPDX exports. 9/30/2004 5:26 PM Ernst Angle - A non-2-lettered command was added to take in the total recycle time and the T1 for an acquisition and return the

Ernst Angle. Usage: ERNST <Total Recycle Time (sec)> < T1 (sec) > 9/29/2004 2:44 PM PPM Values - Previous changes to the way NUTS calculates PPM values were incomplete when in the axis routine. NUTS now calculates PPM values by dividing the Hertz chemical shift value by the spectrometer frequency for zero PPM. The axis routines were updated to do the same thing. 9/4/04 IM The Varian import routine was changed to read the refsource1 parameter to set the correct value for the indirect dimension SF. IM Corrected a problem with the Elscint import by explicitly resetting the pointer to the beginning of the file before the first read. 8/17/2004 1:27 PM FX - the FX routine was updated to work in the pairwise arrayed mode when the B pair is zeros such as when entering the arrayed mode with the command: ar tppi2pairwise 8/17/2004 12:33 PM BU - The buffers routine was updated to have different user settable pen widths for the screen and printer. 8/17/2004 10:11 AM ED - The Ed command was updated to work with data in the pairwise arrayed mode. 8/17/2004 9:20 AM IM - Philips changed their type 2 header file. The import routine was changed to correctly identify both types when importing. 6/17/2004 2:24 PM BU The Buffers routine was modified to allow changing the Y offset position of the buffer label. Also the background of the label was changed to allow TRANSPARENT or OPAQUE modes. 6/16/2004 1103 AM IM - Several corrections and additions were made to the import filter for Tecmag Apollo (WinNT) data files. NUTS now reads the FFT flags, observe SF, chemical shift referencing, Comment, pulse sequence name and spectrum reverse flag. 6/8/2004 1:10:03 PM Command Log - The command log was being initialized when opening a new file but not when importing a new file. The result was that imported files contained the log of the past file upon import. 6/8/2004 ML - The types of recovery 13:10:03 AM routine to read MOL files would crash NUTS for certain corrupted MOL files. Some checks were added to allow from these corrupt MOL files.

5/5/2004 3:53 PM FB - The FB sub-routine has a sub-command F which fudges the baseline in a crude fashion. This routine had not been adapted to work in a zoomed display when the other parts of FB were adapted to work in a zoomed display. This was corrected to work when using a zoomed display. 5/3/2004 1:58 PM S2 - The S2 command was restricted to 2D and above NUTS versions. To accommodate users doing arrayed 1D T1 data sets, this restriction was changed from 2D versions to 1D and above versions. 1/27/2004 2:03 PM FF - The FindFile command had a initialization/de-initialization problem if a user, macro or link failed to find ALL files in a directory during its use. A change was made such that the FindFile routine were correctly de-initialized upon completion of a macro. A FF command line argument (reset) was also added to allow the user or a macro to force the FindFile status to be de-initialized. 1/26/2004 6:17 PM IS - Arguments for the InSert command were added to allow the user to change the default position and size of inserts when they are added. The values for the arguments use are fractions of the screens size. For example, "IS xpos 0.01" would change the default position of the insert to be 1 percent of the screen from the left. Argument can be: IS xpos fraction IS ypos fraction IS xscale fraction IS yscale fraction 1/26/2004 2:44 PM BU - The BUffers command was reworked from a 10 buffers menu focus to a GUI link-list focus. When the BU command is entered, the status in the Status Bar is changed to "BUffer Control" and the sub-routine to add / edit buffers is started. In this sub-routine, the user can transfer the current data set to the next available slot in the linked list with the command "A" or by using the menu option Edit / "Add Current Spectrum as Next Buffer" option. The newly added buffer becomes the CUURENT buffer and its properties can be edited with the "E" command. Which buffer is the CURRENT buffer can be changed by moving the mouse over the baseline of the buffer. When this is done, the buffer spectrum will blink and that buffer becomes the CURRENT one. While the mouse is over the buffers baseline, a right click or "E" command will edit that buffers properties. Whichever buffer is CURRENT can be moved vertically by pressing and holding the left mouse button. When this is done a red line is display and can be moved with mouse movements. When the left mouse button is released the buffer moves to that vertical postion. The CUURENT buffer's vertical scale can be changed with the ">" and "<" keys.

1/23/2004 10:54 AM LL A routine called PPM Lines or Line List was added to allow placement of horizontal and vertical lines by PPM on 2D contour and intensity plots. While in the Target routine (press and hold the left mouse button) A "V" places a vertical line at the current target position and an "H" places a horizontal line at the target position. "L" clears the last enter line and "C" clears all entered lines. When the command "ppmlines" or "LL" is given from the base level, the Edit Line List routine is entered. If the cursor is moved over a line it will blink and that line becomes the current line. At this position a right click or the key "E" will enter the mode to edit the properties of the current line. A "D" key will delete the current line and a "C" key will clear all current lines. A "V" key will enter a new vertical line at the current mouse position and an "H" key will enter a new horizontal line at the current mouse position. 1/6/2004 9:52 AM ML - A routine called MoLecule (ML) was added to display Mole files as structures on the screen. 1/3/2004 11:43 AM IM - The GE Medical Systems import filter was updated to import the GE version 8 header and to take in data from either the SUN unix computers or the new Linux computers. 12/30/2003 11:38 AM Command Aliases - The use of a COMMAND.INI file to assign command aliases was removed from NUTS 12/29/2003 9:31 AM IM - The import filter for GE Medical Systems spectroscopy data was expanded to cover versions 7.x, 8.x and 9.x. 12/24/2003 10:30 AM ML - A routine was added to read and display MOL file structures. 7/24/2003 3:19 PM BU - The ability to save a spectrum with the current Buffers was added to the File menu of the BUffer routine. 7/5/2003 3:31 PM FT and RD - A bug prevented the automatic RD when FTing a Bruker digitally filtered data. The user could still do an RD before FT. 6/12/2003 9:39 AM CP - The internal calculations for the contour plot routine were reworked to reduce the overhead calculations. There is now about one third the calculations and a typical display time is 25 to 50% faster depending on the speed of the processor and graphics card.

5/25/2003 1:43 PM AR - A new arrayed mode and associated data structure was added. The new mode is 4D Complex Arrayed mode which packs the data into a 4 dimension data matrix. It has its own ProcessType (PT) similar to the Generic 3D called Generic 4D. Once this mode has been set with the PT command, the AR command will automatically in the mode when issued without arguments. The AR command with the argument "4" or "4D" will force the arrayed mode to start in the 4D Complex Arrayed mode. The FT and EM commands are now array aware of the mode and the Acquisition Parameters Dialog box (CO) will display the parameters for all dimensions when there is a point count grater than 1 in the 4th dimension. Truman Brown has supplied some CSI spectroscopy data which is a 4D data set (512 complex by 8 by 8 by 8) and an import filter for this data has been written and depends on the presence of two files: NAME.ddf and NAME.raw. The DDF file has the parameters in a specific format and the RAW file is the data points as 2 byte integers in big endian format. 5/10/2003 2:13 PM MR or MRI or IMAGE - An import filter for images supplied by Truman Brown was added to the import filters. A new routine to display these images was added ==> 2-lettered command MR or non-2lettered command IMAGE. The command has several optional arguments: 1. IMAGE (Actualsize or A) displays the image in the same number of pixels on the screen as the image has. Otherwise the image is scaled within NUTS. 2. IMAGE (NegativeImage or Negative or N) toggles the display of the negative of the image. Another argument is allowed which can be ON or OFF which allows setting this feature in an absolute manner. 3. IMAGE (SquareImage or Square or S) toggles the forcing of the image to be square; otherwise the image is scaled within NUTS. By default NUTS starts in the square image display mode. 4/28/2003 5:23 PM TL or TILT - A command was added to tilt a 2D data set. With no arguments the command will tilt the 2D data set 45 degrees in hertz in a counter-clockwise direction. The command also recognizes a "C" or ""CC" argument which defines the direction of the tilt to be clockwise or counter-clockwise respectively. If these arguments are not followed by another argument the amount of tilt is 45 degrees in hertz. An additional argument is taken as the number of points to tilt per slice (fractional points allowed). If the TILT command is given with an argument which is not "C" or "CC" then the argument is taken as the number of points to tilt per slice (fractional points allowed) and the tilt will by default be in the counter-clockwise direction. 4/23/2003 4:24 PM Title Bar - The files comment was added to the NUTS application title bar at the top of the NUTS window.

3/12/2003 3:21 PM IM - There were somewhat duplicate fields in the NUTS header: "Owner" and "User". To avoid confusion the "User" field was eliminated and all references to "User" and "Owner" were directed to the "Owner" field. 3/11/2003 4:01 PM 2D Menu - Some of the key stroke shortcuts for the display of 2D projections on the side of intensity and contour plots were not working. No reason could be found so the shortcut keys were eliminated and the resources re-compiled. The shortcuts were then re-installed and the resources re-compiled and they now work again. 3/11/2003 10:48 AM BR, JE - The commands have been changed from their previous operations. Before they moved in the characteristic amount for the instruments they are designed for (as described previously) zeroing the end points and adjusting the DC and tilt for the data set. This has been changed such that it ignores the same amount of data on each end, removes the DC and tilt from the data, and removes the DC of the end sections but does not zero the data points. In the non-2-lettered command mode these commands can take a number argument to over-ride the automatic method to determine the amount of data to ignore on each end. The commands can also take and argument of "ZeroPts". When this argument is followed by a third argument of "1" (one) then the ignored end points will be zeroed. When this argument is followed by "0" (zero) then the points are not zeroed. 3/8/2003 2:53 PM AP, QP, QA - The automatic phasing routines were redone to be faster and more accurate. QP is a subset of AP and therefore somewhat faster and slightly less accurate. QA also uses the new automatic phasing routines but only phases the zero order phase. The new process is usually much faster and better than the old automatic phasing routines. The AP and QP commands can take several non-case sensitive arguments in the non-2-lettered command mode. AP ? will display possible arguments. AP log will do the AP process and log the steps the AP routine takes to the current data directory. AP stepA # sets the initial step size for the zero order phase. AP stepB # sets the initial step size for the first order phase. AP A will phase only the zero order phase. AP look will exchange the current data for the automatically generated reduced data point data buffer used by the AP routine. AP enhanced # will set the AP routine to use advanced baseline detection when #

is one. When # is zero the AP process will not use advanced baseline detection. This feature works better with spectra which having peak free baseline at each end. AP IgnorePts # will set the number of points on each end to ignore in the phasing process to #. By default (IgnorePts = -1) the AP process ignores 5% of the data points on each end of the spectrum. When the data set to be phased has peaks close to the ends it is better to set this number to the minimum allowed by the data's baseline. AP RMS # will set the number of RMS noise multiples to use in the advanced baseline peak detection mode. Default is 100 times. AP Pts2Ave $ will set the number of points to average when making the reduced data set for the AP process. The default value is zero which allows the AP process to automatically determine how much to reduce the data based on initial data sizes. QP reduces the data more than AP. If this argument is set to one then the data is not reduced and the process is slightly better but a lot slower. AP quality does not do an automatic phase process but returns the value used by the AP process for the quality of the current spectrum's phase. AP Simplex does the AP process using the Simplex method and creates a log to the current data directory. AP map sets the first order phase to -360 degrees and doses an zero order optimization. It then increases the B phase in 10 degree steps and optimizes the zero order phase at each step until the first order phase reaches positive 360 degrees. It then corrects the current data set to the best phase values it found in this mapping process. This process also creates a log to the current data directory. JE - A new command "JE" or "JEOL" was added which is like the BR command but uses a default of 5% of the spectrum on each end instead of the BR commands default of 2%; 2/24/2003 2:38 PM IM - The import filter for Bruker XWin processed data where the TITLE file was absent gave an incorrect error message and got stuck in an endless loop. The error message was corrected and the endless loop was avoided. 2/24/2003 10:42 AM BR - Some non-reproducible crashes from the BR command were corrected with a redefinition of data pointer during the reduce and expand points routines. 2/13/2003 10:54 AM /2 and *2 - NUTS has had a command (brickwall or /2) which when used without arguments reduces the data set by eliminating one quarter of the data points at each end of the spectrum. When used with an argument, the command eliminates the number of points defined by the argument at each end of the dataset.

A new command has been added (expand or *2) which, when used without arguments, expands the data set to the next power of two data points by adding points to each end of the spectrum. When used with an argument, the data set is expanded by adding the number of data points define in the argument to each end of the spectrum. 2/12/2003 3:02 PM BR - A new command was added to help when processing Bruker digitally filtered data. This new command removes the very ends of the spectrum after FT so that the typical sharp curves at the spectrums end were eliminated. This makes many of NUTS's commands - like QA, QP and AP - work better. When the two lettered command "BR" or the non-2-lettered command "BRUKER" is given without arguments the program reduces the spectral data size by 2% on each end, does a BC operation, an RI operation, another BC operation, another RI operation and expands the data set to the next power of two size with zeros on each end. When the command is given with an argument the argument is used as the number of data points to adjust on each end. 2/12/2003 1:06 PM AP - The AP routine was hanging when doing an auto-phasing operation on a data set which was not a power of two in size. A trap was added so that an error message was given to the user instead of the program hanging. 2/12/2003 12:03 PM IM = Many users were reporting that Bruker XWIN NMR data files were importing such that the spectra were requiring an SR after an FT. The import filter was changed to invert the imaginaries on import thereby eliminating the need for the SR. 2/12/2003 10:14 AM ID and PP - An error in NUTS which was causing NUTS to not read any ID list or PP list saved in a type 3 header was corrected. 2/10/2003 9:08 AM IM, GA, GB - When some fields were blank when a file was imported then these fields were left unchanged; i.e.; the same as the previous file's field. Examples included comment, UID and similar fields. This was changed such that if the field is blank when the file is opened or imported the field will be made blank and not retain the previous files information. 2/7/2003 1:01 PM IM - New import filters for 3D NMR data required changing the routines to write out the imported data to a new file. Some older import filters were affected and only imported one data point of data. This was corrected by making all dimensions of imported data to have the point count set to one as a minimum. 2/6/2003 3:31 PM GA - The Macintosh file opening routines were misidentifying NUTS

format data with type I or type II header styles. This was corrected. 2/5/2003 3:37 PM FB, FX - The FB and FX baseline correcting routines can be used while in a zoomed display mode. When so used, the baselines of the regions outside the zoomed display region can be adjusted in DC value to prevent a discontinuity in the total spectral. The default mode NUTS uses can be set in the NUTS.INI file: CONTINUOUS_BASELINE = TRUE // baseline is DC adjusted CONTINUOUS_BASELINE = FALSE // baseline is NOT DC adjusted Inside of NUTS the "-c" argument can be used to set the current mode of operation. The non-2-lettered commands: FB -c on enables the DC adjustment of the baseline and FB -c off disables the DC adjustment of baseline outside the current zoomed display region and leave a baseline discontinuity at the ends of the zoomed region. One of the reasons for the different modes of operation is that sometimes, the user would rather have the baseline become discontinuous and therefore the integral values outside of the zoomed display region are not changed by a DC baseline adjustment 1/30/2003 3:33 PM MH and auto PP - When NUTS is in its base level of operation and the right mouse button is pressed then a target crosshair is displayed on the screen. While the crosshair is being displayed, the "M" sub-command resets the MH value to the level of the horizontal crosshair. It is sometimes convenient to have NUTS automatically do a new PP command when the M sub-command is given. The default action can be set in the NUTS.INI with the line: DO_PP_WITH_M = TRUE This action can also be set while running NUTS with the MH command while in the non-2-lettered command mode" MH -p on Sets NUTS to do the PP when the MH level is reset with the "M" sub-command. MH -p off Sets NUTS to NOT do the PP when the MH level is reset with the "M" sub-command. 11/28/2002 12:44 PM TILT - The non 2-lettered command "tilt" started in the middle of the slices and shifted each slice one point per slice thereby tilting the 2D data set 45 degrees by points. This could be done in either the clockwise or counter-clockwise direction by using a "c" or "cc" argument. Another argument could be given to set the number of points per slice to shift the data, however, only integers could be entered. This was modified to allow the entry of fractional points. When a fractional point is used then the points are shifted only when the cumulative amount becomes more than a fraction. A feature was also added to allow NUTS to do the 45 degree shifting by hertz instead of points. Example commands:

tilt cc 0.1 This command would tilt the 2D spectrum 0.1 point per slice in the counter-clockwise direction. tilt c 0.1 This command would tilt the 2D spectrum 0.1 point per slice in the clockwise direction. tilt 0.1 This command would tilt the 2D spectrum 0.1 point per slice in the counter-clockwise direction (the default direction). tilt This command will calculate the hertz per point in the 1st dimension and the hertz per slice in the 2nd dimension and use this information to tilt the spectrum 45 degrees by hertz in the default counter-clockwise direction. tilt c This command will calculate the hertz per point in the 1st dimension and the hertz per slice in the 2nd dimension and use this information to tilt the spectrum 45 degrees by hertz in the clockwise direction. The ability to do issue the "tilt" command without arguments with the two-lettered command "TL" was added. 11/26/2002 10:37 AM Axis - The user has always been able to set the 1D and 2D axis dimension types by (from the 1D display mode) selecting View/Type from the main menu. A coding error was found which cause NUTS CP and IP modes ignore the 2nd dimension value and use only the 1st dimension type for both dimension axis. This was corrected. 11/18/2002 1:57 PM ID - The integral labeling routine was modified to allow the integral labels for broken integrals to be either horizontal or vertical. In the ID sub-routine an "H" sub-command sets the font orientation to horizontal and a "V" sub-command sets the font orientation to vertical. In the macro routines, the command to change the integral label font size was changed to accommodate horizontal and vertical orientation. The old macro command: SET FONT_INTEGRAL +10 is now either SET FONT_INTEGRAL_HORIZONTAL +10 or SET FONT_INTEGRAL_VERTICAL +10 In addition to changing the font size it sets the integral font labels to the indicated orientation. The default orientation for the font label can be set in the NUTS.INI with the line: ID_HORIZONTAL_FONT=FALSE or ID_HORIZONTAL_FONT=TRUE 11/15/2002 11:22 AM IM - A generalized error in the import filter caused the PulProg parameter of XWinNMR data to be read correctly and ignored. This was corrected. 11/12/2002 9:40 AM

IM - A fix for when users had multi-line comments in imported files (particularly Tecmag) was added previously. This fix looked at up to 100 lines and quit when the next line of the header started with #. Some users that used multi-line comments used comment lines starting with #. NUTS was modified to stop reading multi-line comments when the first two characters of the next line of the header were #. 11/7/2002 8:07 AM GA - When adding the GA change from 10/29/2002 a coding error stop all file readings except from a Professional license. The error in module FILE.CPP was corrected. 11/6/2002 2:47 PM NUTS - When a particular file extension was associated with NUTS and a file with that extension was selected, NUTS would sometimes fail to locate the file. The issue was a combination of spaces in the directory or file name and the operating system's use of quotes for these path names. A work-around was developed to correct the problems and the file associations now work with or without spaces. 11/6/2002 12:53 PM AR - A new argument for the command to enter the arrayed mode was added - "tppi2pairwise". This argument should be entered while not in arrayed mode and file A should be the desired 2D_TPPI raw data file. When given the current File A will be read into memory such that a PairWise data set is created with each slice of the current data being the A pair and the B pair is set to zeros. The process type is set to "2D_TPPI" and the TD will do no swapping of data pairs. 10/30/2002 11:05 AM Tailer Read - When auto tailer read was turned on and a 2D file which had a peak pick list was opened while not in the arrayed mode the program would crash if the three point peak interpolation was turned on. The code was changed to read the slices in and do the three point interpolation while not in the arrayed mode. 10/29/2002 5:39 PM GA - The reading of a file which had been saved by NUTS with a Process Type (PT) was modified to detect the Process Type and enter the correct arrayed mode. All versions of NUTS except NUTS professional return an error when opening files of this type. 10/29/2002 10:39 AM MF - When MF was placed inside of a macro or link which also changed the vertical size of the displayed data (like an FT) the scaling factors were not updated. The symptom was that the "MF" command needed to be issued twice in the macro or link to have the desired affect. This was corrected. 10/29/2002 9:41 AM TB - An error in memory allocation when sending integral lists to the clipboard while using tab separators was identified and corrected. A similar problem with peak pick list to clipboard was also corrected. 10/19/2002 2:09 PM Offset Information Added a NUTS.INI section to allow the user to

set the default methods used when setting the chemical shift offset. When in the target display mode (crosshair on the screen) pressing "V" brings up the Offset Information dialog box. The user then enters the chemical shift information for the current crosshair position. By default the system uses a three point Peak Interpolation for setting the chemical shift. Also by default the system will "snap to tallest nearby peak" mode when setting the chemical shift. The user can set the set the default modes below by removing the comment semi-colon and setting the argument to either TRUE or FALSE. The Peak Interpolation is also used by the peak picking routine when reporting peak positions. The two new entries to the NUTS.INI are: INTERPOLATE_PEAKS=FALSE SNAP_TO_PEAK=FALSE 10/17/2002 12:03 PM Exports Added a method to increment a file name extension in a macro or link when exporting a series of files. This can be done with the new 2 letter command "EI" or the macro command: do INCREMENT_EXPORT_FILENAME 8/4/2002 1:48 PM FB A problem was corrected where FB was done in the full display mode and repeated in the zoomed display mode the data was either zeroed or the program crashed. This was traced to a pointer to the data not being zeroed when exiting the FB routine. 8/4/2002 9:31 AM AR A problem causing a crash was found when the following conditions were met: When a spectrum was processed in Pairwise Complex Arrayed mode. The spectrum had a 2D peakpick list. The spectrum was saved. The spectrum was recalled with auto tailer read turned on. Peak interpolation was turned on. The problem was a pointer to the data in the peak interpolation routine was not pointing to pairwise data but to a NULL pointer. The code was changed to point to the correct data for this mode of operation. 7/25/2002 1:48 PM StartUp - If the user wants to use a different NUT.INI when NUTS starts it is signaled by a "-i" option argument and the next argument must be the path to the nuts.ini file to use enclosed in double or single quotes. If the user wants to run a macro it is signaled by a "-m" option and the next argument must be the path to the macro enclosed in double or single quotes. If user wants to load a file it is signaled by a "-f" option and the next argument must be the path to the file enclosed in double or single quotes. If there is a lone argument (not following an option signal "-") it is assumed to be a path to a file to load when NUTS is run and is space insensitive. 7/24/2002 4:36 PM

projection or proj This non-2-lettered command has been modified. Its new format requires at least two arguments. The first argument defines which side projection is the focus of the command: -1 -top -t Top Projection -2 -right -r Right projection -3 -bottom -b Bottom projection -4 -left -l

Left projection

The second required argument specifies if this projection is shown: -on -off A third optional argument defines a file name to use for the specified side projection spectrum 7/8/2002 3:56 PM IM - XWin Bruker data imports had a problem when a pdata/1 directory existed but there was no file called "title" the import routine would hang or crash. This was corrected so than the absence of the file "title" would be ignored by the import routine but there will be no "Comment" in the imported data. 7/2/02 3:40 PM NUTS.INI The Autoexec and MacroDir entries in the NUTS.INI did not allow spaces. This was changed to allow spaces for these entries. 7/1/02 2:54 PM HI The HI command was modified to force the outputted histogram file to have four figures after the decimal place. It was also modified to accept and optional second argument which is used as the histogram output file name. 6/20/02 3:53 PM FB A routine to reread an exported mask file and allow continued editing was added under the FB File menu. IM The Bruker Xwin imports of time domain data was modified to look in the pdata/1 sub-directory for a file called "title". If present it is read as the imported Comment. 6/19/2002 2:12 PM

HI - (non-2-lettered command "histogram") This command generates a text file which is a list of intensity descriptors. The first item in each line of the descriptor file is the PPM value of the start of the descriptor. The second item is a relative sum of the intensity in the descriptor PPM range which by default is 0.04 PPM wide. The descriptor file has the following characteristics: - All negative sums are zeroed. - The sum of all descriptors is 1.0 By default the size of each descriptor is 0.04 PPM. By default the total spectrum is used for the descriptor file and all data points in the file are used. In the non-2-lettered command mode, the command will take a file an argument which is the name for a descriptor properties template file. A sample file is below: Histogram_Template Descriptor_Size 0.1 Include 10.0 0.0 Eliminate 9.50 9.0 Eliminate 5.00 4.00 6/18/02 1:24 PM A new method of baseline correction was added to the FB FB, FX routine Linear Spline. This method starts at the left side of the spectrum and un-dcs and un-tilts to the first selected region and then repeatly un-dcs and un-tilts from there to the next selected region until all selected regions have been corrected. The sub-command in the FB routine is "3". This mask can be saved and applied in the FX routine with the non2-lettered command FX s mask.name or FX 3 mask.name 6/14/02 5:28 PM FX This tool is a baseline correction routine similar to FB but using a mask file predefined and saved in the FB routine. Previously FX routine only did polynomial corrections. This was maintained as the default operation but an option was added for doing linear baseline "fudges" identical to the FB routine s F sub-command. Examples: FX mask.name FX p mask.name FX 1 mask.name Both these commands do a polynomial fit using a mask file called mask.name. FX f mask.name FX 3 mask.name This command does a series of linear fudges using a mask file called mask.name. 6/12/2002 12:34 PM DC - When in the DC offset sub-routine the value of the DC offset is printed in the upper left corner of the screen. Originally it was printed to the right of the scroll bar left justified. Work on the axis caused this value to be printed right justified so it was under the scroll bar. The printing of the value was forced to be

right justified and is now visible to the right of the scroll bar. 6/11/2002 10:59 AM ZE - In a macro or link the ZE command asked if you were sure each time it was called. This was changed do that it asks only if you are not in a link or macro. 5/17/2002 2:51 PM SV (non-2-lettered command mode "solvent" ) This command was added to allow the user to set the solvent. The solvent string is stored in the NUTS header when using header type 3. 5/17/2002 1:40 PM US The user field saved in a type 3 NUTS header was terminated with the first space when recalled. This was changed to allow spaces and a length of 128 characters. IF The length of the Name fields was limited to 39 characters when a NUTS header type 3 was re-read. This was changed to allow a field length of 128 characters. 5/17/2002 12:01 PM TB (non-2-lettered command mode "tabs" ) This command changes the format for the peak pick and integral lists when they go to the clipboard. In the 2 lettered command mode it is a toggle between two table formats: 1) space separated columns such that, when a fixed size font is used, the columns line up. Best for pasting into Notepad 2) tab separated columns. Best for pasting into a spreadsheet program. The default mode can be set in the NUTS.INI file with the "UseTabs" line set to TRUE for tables using tabs and FALSE to use spaces. 5/10/2002 2:17 PM PT (non-2-lettered command mode "ProcessType" ) This command sets a flag to be used by the AR and TD commands. When the flag is set correctly the proper arrayed mode is entered with the AR command and the proper transposition and swapping is done with the TD command. Possible values for the ProcessType flag are: 1D 2D_Magnitude 2D_TPPI 2D_HyperComplex 2D_EchoAntiEcho 2D_SatesTPPI 3D_Generic The command can take the non-case-sensitive arguments listed above. Without arguments a dialog box is presented to the user for checking the processing type. The Process type is saved in the file header. 5/3/2002 3:25 PM Target M When at base level with the left mouse button pressed the user can set the minimum height for peak picking and autointegration by placing the horizontal line at the desired level

and typing "M". Before this action also redid a PP command, this automatic PP command was removed from this operation. SO This two letter command (non-2-lettered command SMOOTH) was added to do a smooth operation. With no arguments or in the twolettered command mode, a three point smooth is done. In the non-2lettered command mode a first argument is used as the number of points to smooth. An optional second argument is the number of types to repeat the smooth operation. AI - the Automatic Integration command was reworked. The operation was made dependent on the display mode. When doing a full display any currently defined broken integrals are deleted and a new set of broken integrals is defined. When in a zoomed display new set of broken integrals is appended to any existing set. The selection of the broken integral regions depends on the noise and peaks in spectral regions and is very sensitive to the MH value. Also, any broken integral region crossing zero PPM is ignored. The minimum broken integral the last displayed region when the AI command issued is set to 1.00 by this command. PH A marker for the pivot point position was added to the PH phasing display routine. 4/12/2002 3:30 PM AB or non-2-lettered command SwitchAB works on data when in PairWise Complex Arrayed Mode. It swaps data between the A and B complex pairs (see description below). In the non-2-lettered command mode some arguments can be used: AB real AB ArBr would swap the reals pairwise. AB imag AB AiBi would swap the imaginaries pairwise. AB ArBi would swap the first pair reals with the second pair imaginaries. AB AiBr would swap the first pair imaginaries with the second pair reals. TD - When in the PairWise Complex Arrayed Mode the TD command without any arguments does the TD in the manner described below where each segment of data (A.r, A.i, B.r and B.i) are individually transposed AND A.i and B.r are interchanged. When the TD command is issued in the non-2-lettered command mode it can have arguments "AiBr" or "hyper" and have the same action as the default. When in the PairWise Complex Arrayed Mode the TD command can also take the arguments "AiBi" or "echo". With these arguments each segment of data (A.r, A.i, B.r and B.i) are individually transposed AND A.i and B.i are interchanged. In addition, when in the PairWise Complex Arrayed Mode the TD command can also take the arguments "noswap". With this argument

each segment of data (A.r, A.i, B.r and B.i) are individually transposed AND no segments are interchanged. 4/11/2002 3:16 PM ARRAYED Mode 2 A new manner of structuring the data was introduced with the non-2-lettered command mode command: AR 2 This command enters a PairWise Complex Arrayed Mode where the data slices are viewed as a Pair of Complex pairs. For discussion lets call the first complex pair A and the second complex pair B. We then have the first complex pair: A.r and A.i. The second complex pair is then: B.r and B.i. When this mode is entered the user views only the A.r data but commands operate on the A.r and A.i complex pair. Any command given is also done to the "invisible" B.r and B.i complex pair. By default when in this mode a TD is done in this mode each segment of data (A.r, A.i, B.r and B.i) are individually transposed AND A.i and B.r are interchanged. This allows the second dimension complex pair to be used in future operations. If/When the data is TDed again the first dimension complex pair is again in place allowing such operations as additional phasing. This behavior is similar to the TR TR ST operation with the imaginaries being carried along instead of discarded. 4/5/2002 12:17 PM Header This non-2-lettered command was used to set or inspect the header type (1, 2 or 3) of a NUTS formatted file. It was expanded to take an additional argument "length" which will tell the user the length of the header on the current file. Usage: header length<ENTER> SE Non-2-lettered command SEE is a new command to aid in the visual inspection of unknown data files. In the 2-lettered command mode the command first brings up a dialog box and allows the user to select the file to look at. After this selection, another dialog box comes up which allows the user to specify how he wants to view the data. After selecting all the options and clicking OK the data is imported without translation in that manner as a 1D file thereby allowing the user to visually "see". This can aid if finding actual NMR data in unknown files. Hint It is often useful to first load an NMR file with NMR data of about the vertical scale size the user expects and then do an FS to fix the scale. This allows all the "junk" to be imported and go off-scale without shrinking smaller NMR data so small as not to be seen. In the non-2-lettered command mode, the SEE command with no arguments behaves as above. The user can give arguments as shown below to directly import the specified file as instructed in the arguments: SEE [Bytes2Skip] [WordType] [Complex] [Endian] [FileName] where: Bytes2Skip is the number of bytes to move into the file before starting to read the data WordType is one of CHAR / SHORT / INT / FLOAT / DOUBLE Complex is one of REAL / COMPLEX Endian is one of BIG / LITTLE FileName is the name of the file to import.

4/4/2002 1:23 PM MACRO QUESTION The question function was modified to work with the current code. It appeared to have been broken by some MACRO additions. // Each question needs to start with one line of "QUESTION" // The following lines are for the question - up to 15 lines // Then four addition lines // First line starts with YES_BUTTON <desired action> // Next line starts with NO_BUTTON <desired action> // Next line starts with CANCEL_BUTTON <desired action> // 4th and LAST line needs to be END_QUESTION // <desired action> can be one of three things // 1. ABORT // 2. CONTINUE // 3. New macro name to start Sample usage macro: nutsmacro QUESTION Click YES to continue the macro execution with the next line after this question. Click NO to abort the macro execution. Click CANCEL to abort the macro execution. YES_BUTTON CONTINUE NO_BUTTON ABORT CANCEL_BUTTON ABORT END_QUESTION ft end 3/28/2002 1:53 PM NF A new command (NoiseFigure or NF in the non-2-lettered command mode) has been added to calculate an NMR instrument s noise figure. To use first replace the NMR spectrometer s probe with a 50 Ohm metal film resistor. At the gain and frequency settings of interest for the NMR instrument take one scan of data with the resistor at room temperature and save the file with a file name like "HOT.NMR". Cool the resistor in liquid nitrogen and take another scan and save this file with a file name like "COLD.NMR". Enter the NF command and follow the directions. NUTS will load the two data files and calculate the system noise figure. In the non-2-lettered command mode the user can also enter the name of the hot file as argument 2 and the name of the cold file as argument 3. 3/18/2002 9:51 AM MO Work was done to improve the quality of the meta-objects created by nuts when the "A" sub-command is issued in the MO subroutine. 3/15/2002 3:40 PM FB When the user gets a set of areas desired for a baseline selected this pattern or mask can be saved to a text file with the sub-command "M" or by selecting File/Save Mask on the menu while in the FB routine. FX New command. In the 2-lettered command mode or issued without arguments in the non-2-lettered command mode this command is an

array aware version of QB. It will correct a 1D file like QB. When the file is a 2D file, it will correct the current slice when in the non-arrayed mode, and will individually select regions and calculate and apply polynomial baseline corrections to each slice of a 2D file when in the arrayed mode. When in the non-2-lettered command mode the command accepts an argument of an FB mask file name to use when calculating the polynomial fit. The mask must be for the same 1D data size as the current data. If the mask was done while in a zoomed display mode this command will use the same display region for the polynomial fit and NUTS will end up displaying that zoomed region when the command completes. If polynomial corrections are made while in a zoomed display, then the data outside of the display will be dc adjusted to keep the data set continuous with the ends of the corrected regions. 3/13/2002 4:06 PM PH and PE An addition to the NUTS.INI allows the user to change the mouse sensitivity for PH and PE independently. The variables are: MOUSE_SCALING_PE = 500 MOUSE_SCALING_PH = 500 In addition, the current mouse scaling is divide by 3 when the CONTROL key is depressed. 3/13/2002 Inserts recalled, therefore 1:48 When some were PM saved inserts in the file header were being were being read at the wrong Y position and being drawn off the screen and were not visible.

Inserts The Font Selection for Inserts was being done but the information was not being used to draw the axis for the Inserts. Code was added to use the Font Information. FB When FB was used in a link a code error in reading the NUTS.INI file for the default fitting type caused it to always be 2. This was corrected and FB is now useful in a Link or Macro. 3/12/2002 11:28 AM Axis Some of the axis labels were slightly offset to the appropriate tick mark. The axis routine was modified to help align these label and tick marks better. 3/10/2002 11:25 AM NUTS.INI A flag was added to the NUTS.INI file which causes NUTS to not overwrite any existing file: NO_FILE_OVERWRITE = TRUE If set to anything other than TRUE it will be taken as FALSE. If commented out the default operation of NUTS is FALSE. 3/1/2002 11:14 AM FB When using FB for a zoomed region, there was a set of conditions where round-off errors would cause one less segment to be chosen than could be fitted into the zoomed region. The roundoff error was corrected. 2/25/2002 5:43 PM CB This command was a toggle to turn on and off the display of the

clipboard in the NUTS window. IT was modified such that in the non-2-lettered mode it can accept arguments: "on" and "off". Without arguments, it operation remains the same; i.e.,a toggle. 2/21/2002 4:56 PM Start The way NUTS starts from a command line was changed such that multiple arguments can be included in the NUTS command line. If any argument has a format described below it will cause the action described. path\NUTS.INI then this NUTS.INI file will be used by NUTS as the NUTS.INI file for this session. path\*.MAC then nuts will run this macro at startup. Macro files CANNOT be in the NUTS root directory. If no path is given the macro is assumed to be in the NUTS\MAC directory. any other argument will be used by NUTS as a filename to load. 1/15/2002 1:07 PM DI The DI command (non 2-lettered command DIR2) was changed from emailing a copy of the NUTS root directory to support@acornnmr.com to creating a Notepad application showing the current NUTS root directory. 1/7/2002 6:13 PM LF Using the A sub-command of LF with more than 1 selected line was causing memory corruption and usually a crash. This was located to be in the memory allocation used when locking some parameters for NO iteration. The memory allocation problem was corrected. 12/27/2001 9:55 AM tilt a new non-two-command which is valid only in the arrayed mode 2D file processing. The command without arguments twists the data one point per slice in the clockwise direction. The first argument can be either a number (number of points to twist the data per slice) or the letter "C" (clockwise) or the letter "CC" (counter-clockwise). If the letter "C" or letters "CC" are the first argument then an optional second argument is a number (number of points to twist the data per slice) in the direction specified by the first argument. An invalid first argument is used as the number of points to shift and any second argument is ignored. The slice number_of_slices divided by two is taken as the "center" and is left unshifted. IM An import filter for Hitachi R-1500 files which have been exported from the native CP/M-68K operating system to a PC DOS file was added to NUTS imports. 12/20/2001 11:52 AM IM Bruker XWin 2D data files were not being imported with all the slices. This was an error in reading the wrong file for the 2D parameters which was created when a more robust search for all the different Bruker file names was implemented.

12/17/2001 4:22 PM FB and QB - It was possible to crash nuts if there were too few points in the spectral region being displayed. A error message was added with a more graceful exit. 12/17/2001 11:26 AM IS - The Insert routine saving was modified to capture the Zoom limits and display condition (Full or Zoomed) of the display. When inserts are incorporated into a display and the file is saved, and the file is later recalled and the tailer read, the display will be returned to the Zoom limits and display type used when the file was saved. 12/16/2001 10:22 AM E6 - JCAMP NTUPLES export was changed to scale the data with the FACTOR variable to better reproduce very large or very small data sets. 12/7/2001 3:25 PM IS Any INSERTS in the display will be saved in the NUTS header when the file is saved when using Type 3 header. If the file is opened again the previous Inserts can be re-displayed by reading the "tailer" by either having the Auto Tailer Read turned on or by doing a Tailer read All command (TA). Any existing Inserts will be cleared and replaced by the Inserts stored in the file header with this operation. 12/6/2001 4:58 PM NO - Any composed NOTES being displayed when the file is saved is saved in the header when using NUTS header Type 3. If the file is opened again the previous notes can be re-displayed by reading the "tailer" by either having the Auto Tailer Read turned on or by doing a Tailer read All command (TA). Any existing notes will be cleared and replaced by the NOTES stored in the file header with this operation. 12/6/2001 9:55 AM IM The file types to "force" a specific type of translation process were removed from the menus. Use of a "force" type is almost always wrong and can cause import problems. The recommended import process is to do IM and let NUTS do its own auto identification process. If you MUST force a type, the user can enter the non-two-lettered command mode and enter a command like: IM -type "force_type" where allow words for "force_type" are: NTDEXTER NTTMON GN QE NTDEXTER_NICNET NTTMON_NICNET GN_NICNET QE_NICNET OMEGA_ONE_FILE OMEGA_TWO_FILE BRUKERASPECT FELIXNEW

ASC CDFFDOS CDFFUNIX JEOL JEOL_GENERIC ATI BRUKERASPECTBS BRUKERETHERNET SMIS VARUNIX BRUKERUNIX1 BRUKERUNIX2 BRUKERUNIXSGI1 BRUKERUNIXSGI2 BRUKERX32_1D BRUKERX32_2D BRUKNET PCT FXQ ANALOGIC LYBRICS CHEMAGNETICS1 CHEMAGNETICS2 CHEMAGNETICS3 GALACTIC IRIS_FELIX CDFFINT MACFID1 MACFID2 MACNMR1 MACNMR2 GEMS FLXAII NMRI PHILIP_MR JEOL_LAMBDA WINNMR1DOF WINNMR1DOS WINNMR2DOF WINNMR2DOS WINNMR1DNF WINNMR1DNS WINNMR2DNF WINNMR2DNS WINNMRAQS_FID WINNMRAQS_R WINNMRAQS_I WINNMRAQS_SER WINNMR1D97 WINNMR2D97 BRUKER_24_to_32 BRUKER_1R JEOL_ALS JEOL_ALPHA JEOL_DELTA JCAMP XWINNMR TECMAG_NT AZARA ELCINT

// // // // // // // // // // // // // // // // // // // // // // // //

Bruker WinNMR 1D Old Conversion FID Bruker WinNMR 1D Old Conversion Spectrum Bruker WinNMR 2D Old Conversion FID Bruker WinNMR 2D Old Conversion Spectrum Bruker WinNMR 1D New Conversion FID Bruker WinNMR 1D New Conversion Spectrum Bruker WinNMR 1D New Conversion Bruker WinNMR 1D New Conversion Bruker WinNMR using *.aqs file Bruker WinNMR using *.aqs file Bruker WinNMR using *.aqs file Bruker WinNMR using *.aqs file Bruker WinNMR 1D year 1997 Bruker WinNMR 2D year 1997 Bruker Aspect transfers with LightNet to X32 Bruker Real Only data JEOL ALS data JEOL Alpha data JEOL Delta data JCAMP data Bruker XWin NMR data TecMag NT data Azara data Elcint Imaging/spectroscopy data

PHILIPS2 SIEMENS

// Philips MRi Spectroscopy Data - Type II // Siemens MRi Spectroscopy Data

12/5/2001 11:32 AM IM - JCAMPDX imports. NUTS failed to import a JCAMP export from a JEOL Alice system. Examining the file revealed a tab character was embedded in the strings. Filtering for the tab character was added to the JCAMP import filter and the file imports correctly. 12/2/2001 2:54 PM 2D contour levels - When a new set of contour levels was to be displayed the user entered a new value for Minimum Height (MH). This has been supplemented by the addition of a scroll bar to the right of the 2D intensity or contour display which allows the user to interactively adjust the MH level. Due to the speed of contour plot recalculation on older PCs or with large 2D data sets this is best done in the intensity display mode or in a zoomed region if in the contour display mode. The PageUp, PageDown, Arrow Up, Arrow Down, "<" key or ">" key are also active for these functions. 11/30/2001 1:09 PM The Aspect import filter was redone to improve the detection of FID versus spectrum. The previous filter was confused by any before BC or EM done before the data was transferred as well as being confused when some different means were used to transfer the data from the Aspect to the PC. 11/16/2001 11:19 AM IM - Imports for a new file format for Philips Spectroscopy data was added to the import filters. The files need to have the naming system where there is a pair of files name.spar and name.sdat. The user selects the *.spar file for NUTS's auto-id import feature to start when using the IM command. 11/13/2001 4:20 PM Undo - A class bug was found where if the axis is being displayed in Hertz and the undo command is active, then when NUTS plots it converts the axis to PPM before and after the plot. The bug was fixed. The work-around for older copies is to turn off undo before plotting. 11/1/2001 2:58 PM FT - The FT command was modified to accept arguments in the nontwo-lettered command mode. The command can be "FT" or FourierTransform". Allowed arguments are: complex complex_norotate complex_nosort hilbert inverse real sequential 10/10/2001 6:58 PM

Bruker XWIN Imports - The Bruker XWIN imports were updated to accommodate Bruker systems using Windows NT and SGI computers. 10/8/2001 2:54 PM CmdLog - Command logging for MS was updated to capture the sineshift value. 9/28/2001 1:23 PM ZG, VP, GS The virtual spectrometer commands were made active in all versions of NUTS. 9/28/2001 11:43 PM CmdLog - Command logging for PH and PS were not correctly displaying the new total phase values. This was corrected. 9/26/2001 3:35 PM The Pulse Width and Pulse Delay variables in the header were modified through out the program to pulse_delay from pd and d5 and pulse_width from pw, p2. 9/24/2001 3:13 PM Comment - The manner the comment is stored internally and in the header was changed to protect against buffer overflow with longer comments and multi-line comments both on file importing and under user control. Technically, the comment was changed from a public variable in the NMR parameter class to a private variable with the necessary class functions to modify and protect the variable. 9/14/2001 12:11 PM commandlog OR cmdlog - The logging start/stop was changed from stopping when a Save command was issued to starting when a file is opened. 9/12/2001 11:15 PM AS - On screen indicators for mode of operation was added to the Add/Subtract routine. The menu was expanded to hit at the feature which allows shifting the spectrum left and right with the arrow keys. 8/31/2001 2:43 PM commandlog OR cmdlog - a non-two-lettered command which controls the command logging operation of NUTS. Logged commands are stored in the NUTS header (only if NUTS Header Type 3 is used) when the file is saved. If any opened file has a command log it will be read and additional commands will be appended. Whether NUTS logs commands is controlled by an entry in the NUTS.INI file: NUTS_LOG_COMMANDS = TRUE if this entry is commented out, set to anything other than TRUE, or is absent then NUTS by default will not log the commands. The command logging can be turned on with the command cmdlog on and command logging can be turned off with the command cmdlog off

The "cmdlog" command without any argument will bring up a dialog box from which the user selects a file, then notepad.exe will be started and the command log for the selected file will be displayed. 8/29/2001 10:34 AM IP and CP - Having the 2D display as a sub-routine was causing a lot of confusion with users when they attempted to issue commands. Some of the commands were one letter commands typical of subroutines, while other commands were 2-lettered commands which could invoke other sub-routines. Additional confusion was arising by using <ENTER> to exit these additional sub-routines as well as the 2D display sub-routine. To address this issue 2D display routines were changed from a sub-routine to a display mode. The user can enter the 2D display mode with commands like "CP", "IP" or the new command "2D". To revert back to the 1D display mode the user uses the command "1D". The following single letter sub-routine commands needed to be and were modified: 1 to P1 - display top projection 2 to P2 - display right projection 3 to P3 - display bottom projection 4 to P4 - display left projection C to CP - contour plot or display I to IP - intensity plot or display + to C+ - positive contours only = to C+ - positive contours only - to C- - negative contours only 0 to C0 - both positive and negative contours ] to "plane +" move to next plane of 3D data [ to "plane -" move to the previous plane of 3D data 8/27/2001 2:26 PM COMPARE - A new non-two-lettered command which allows the comparison of a previously peak-picked 2D file to the current 2D display. The files do not need to be the same sweep widths, spectrometer frequencies or data sizes. The previously peakpicked and saved 2D data set has its header read and an assigned letter is displayed over any current 2D display wherever a peak was picked using the PPMs values in both dimensions. While doing a 1D or 2D display issue the non-two-lettered command "compare <ENTER>". A dialog box will be presented to the user in which to select any previously peak-picked 2D spectrum saved in NUTS type 3 header (this operation requires NUTS Professional version). Other commands are: compare // ask for a filename for 2D comparison compare -on // turns on compare display when doing 2D display compare -n // turns on compare display when doing 2D display compare -off // turns off compare display when doing 2D display compare -f // turns off compare display when doing 2D display compare -clear // clears the 2D comparison list compare -c // clears the 2D comparison list compare -marker X // set marker letter for this file to "X" // and ask for a filename compare -m X // set marker letter for this file to "X" // and ask for a filename compare <filename> // compare to file named

compare -m X <filename> // compare to filename using marker "X" If no filenames are given in the command line a dialog box will be presented to the user allowing selection of a filename for the compare operation. This is true regardless of whether a -m letter assignment is given. If a -m letter assignment is not given by the user, then the first comparison file uses the letter "A", the second comparison file uses letter "B" and so on. 8/24/2001 3:19 PM LC or LoadCurrentFile - A command was added similar to GA except if, through other means there has already been prepared a file name for FileA, the command does not ask for a filename but just loads the current FileA. If there is no current FileA name a dialog box pops up requesting the user to select a file for loading. In the non-two-lettered command mode an argument can be used as the file name to be loaded, making the command identical to GA with an argument. 8/22/2001 9:31 AM IM - Elcint -Added the calculation of SW from "pixel bandwidth" in the Elcint header at group_number 0x0018 and element number 0x0095. The "pixel bandwidth" was taken as AT. 8/15/2001 10:28 AM HDRSEARCH - the header search routine had problems when spaces were in the key word field before the equal sign. The routine was modified so that when the desired search field has spaces before the equal sign it can be enclosed in double quotes and the routine works as expected. 8/14/2001 2:11:22 PM LF The "O" sub-command to optimize a single NMR line was causing a crash while the "A" sub-command to optimize all lines worked normally. This was fixed so both work as desired 8/9/2001 3:13 PM Fonts - The color selection for fonts was not working. The problem was identified and code was added to let the user select the various font colors. 8/8/2001 2:07 PM FA When the font for a 2D right hand vertical axis was made larger than 12 point, it changed to a horixontial font and would not go back to a vertical font without restarting NUTS. The code was checked and there was no coding error but it seems that the Windows Common Dialog routines for font selection do this on their own. Code was added to force vertical orientation whenever this font was changed. 7/12/2001 1:01 PM The HeaderSearch and UID search commands were changed to create the search results file which is displayed by Notepad.EXE to be created in the current windows defined TEMP directory. This should allow read-only cd archives to be searched. 7/11/2001 3:27 PM HeaderSearch - a new non-2-lettered command was added, similar to the UID command, which allows the user to search for any substring in any header field. The command is "hdrsearch" or

HeaderSearch and takes a first argument of the NUTS header field to be searched and a second argument of a sub-string in that header field to be matched. Examples: hdrsearch ##TITLE benzene HeaderSearch ##TITLE benzene either command would allow the user to pick any file in a user specified directory. Then all NUTS files in that directory would be searched in the comment field (keyword ##TITLE in the NUTS header) for a sub-string case-insensitive match to "benzene". Notepad will open in a windows and the search results displayed. 7/10/2001 11:39 AM UID A new field has been added to the Acquisitions Parameters called UID for Unique IDentifier. It is a string for use by the user to identify a sample or set of samples. An example of its use could be to identify all spectra run for job number <AnyString>. The UID is stored when a file is saved and is recalled when a file is read if a UID exists in the header for all NUTS files of Type 3 only. Associated with this command is the non-2-lettered command "passwd". Usages are exampled below: passwd <new password> <old password if password currently exists> if UID does not now exist regardless of password: uid <UID> if UID exists and no password has been set uid <UID> if UID exists and password is set uid <NEW_UID> <root passwd> To search for all files with sub-string matched to "SearchUID" uid -s SearchUID and select any file in the desired search directory. Notepad will be opened and the results displayed. 7/4/2001 6:43:32 PM IM - Added Elcint Imager(now owned by GE Medical Systems) spectroscopy data import filter. To import the file double-click on the desired file. There are still a lot of open questions about this file import. As we gain more information we hope to improve the filter. 7/4/2001 11:41:32 AM IM - Added Azara Unix Real Blocked data import filter. To import the file double-click on the text parameter file. The parameter file usually ends in "*.par". 6/30/2001 8:42 AM ED - (non-2-lettered command "EliminateDispersion") was modified for ways to provide faster operation. In the 2-lettered command mode, or in the non-2-lettered command mode with no arguments, NUTS uses the zoom region to do a 1 parameter fit to amplitude using a fixed T2 = 10.0 and W0 = 0.0.

The command will take arguments when operating in the non-2lettered command mode. Examples are: ED 1 // same as default mode above ED 1 20 // 1 parameter fit to amplitude using T2 = 20.0 and W0 = zero. ED 2 // 2 parameter fit to amplitude and T2 with W0 = zero. ED 3 // 3 parameter fit to amplitude, T2 and W0. 6/28/2001 10:50 AM ED - (non-2-lettered command "EliminateDispersion") A routine to reduce residual dispersion lines at the center of a water saturated spectrum was added at the request of Jerry Dallas and Marc Alder at Berlex per the reference: Adler M., and Wagner, G. "A New Technique for the Removal of Baseline Distortions Caused by Strong Water Signals." (1991) J. Magn. Reson. 91, 450 To use it zoom in on the residual water peak. That region will be used to fit a dispersion line: I(w) = a*(wo-w) / ( (1/T2)2 + (wo-w)2 ) using three parameters wo, T2, and a. This fitted calculated dispersion line is subtracted from the entire spectrum (all real data points). 6/26/2001 1:38 PM Some Unix NMR data files are in directories where the parameters are ASII files with keywords. Reports and examples of parameter files with unexpected blank lines started being found. This may be the result of changes in the way the Vendors were writing to these files or due to corruption during data transfers between multiple computers. Changes were made to the NUTS importing filters to make the imports less sensitive to these unexpected blank lines. 4/25/2001 4:12 PM Expert Mode - A command to set the "expert mode" was added to the non 2-lettered command mode. Type "expertmode <ENTER" for usage. 4/25/2001 2:12 PM IM or Import - The Import command was expanded to work with the non 2-lettered command mode and be capable of taking an argument which is the filename to import. 4/25/2001 12:01 PM IM - Some corrections were added to the program to help prevent trouble when files with multi-line comments are imported. 3/9/2001 3:33 PM IM - Tecmag files were being incorrectly imported. The problem was structure alignment in C. All structures were forced to 2 byte alignment to sole the problem. 3/6/2001 2:30 PM LN The Forward Linear Prediction was causing non-reproducible crashes in the arrayed mode. It also showed a false picture of the data after completing the LN when it did not crash. The memory allocation routines were changed to a more conservative method which fixed the second problem and has avoided the crash in tests to date.

2/27/2001 2:39 PM IM Some Windows 9X systems were crashing after a file was imported, a plot was done, and another file was imported. This never occurred on Windows NT, Windows 2000 and did not happen on most Windows 9X systems. After much effort it appears that this is due to an OpenGL math floating point but in the Windows 9X operation systems. We made a change in the importing routines to "work-around" this problem. Hopefully the bug will stay dead! In the process of developing this work-around and for other developmental considerations the importing code was removed from a DLL and incorporated into the NUTS executable program itself. Therefore the TRANLIB.DLL module is no longer required for NUTS operation. 2/20/2001 2:48 PM JCAMP some changes were made to the JCAMP exports in response to a BARF and to be more compliant with JCAMPDX examples. 2/1/2001 4:51 PM IM The TranLib.DLL auto identification for JCAMP files was made less sensitive to spaces around the "=". 2/1/2001 4:36 PM EZ a default selection of the first zoom value allowed an <Enter> to close the dialog box. 2/1/2001 3:40 PM ID In the ID subroutine, the Menu Baseline / Apply Baseline Correction did not work. This was corrected. 11/7/2000 10:42 AM IS - The axis tick density adjustment was not working for Inserts. This was corrected. 10/24/2000 11:23 AM PS this command was broken by adding phase number readout to the PH routine. This was corrected again. 10/24/2000 11:18 AM DI - A command (DI) to take a directory listing of the NUTS root directory and email it as an attachment was added to NUTS. 10/23/2000 3:40 PM NUTS - Checks for file errors in the Licensing configuration were added to the NUTS startup routines. 10/22/2000 11:03 AM IM - A first pass at direct importing of JEOL Delta data files was added. 10/13/2000 11:14 AM invert A command was added to invert either the even or odd slices of a 2 or 3D dataset. This command works only in the nontwo-lettered command mode and only during arrayed mode operation. Examples: invert odd The above command would invert every odd numbered slice of the current dataset.

invert even The above command would invert every even numbered slice of the current dataset. invert real The above command would invert all reals for every slice of the current dataset. invert imag The above command would invert all imaginiares for every slice of the current dataset. 10/6/2000 10:33 AM PH The onscreen reported phasing done was not being updated when a TD was done or when a new file was loaded. Therefore, the reported phasing was incorrect after the first time it was used. The correct updating was added. 9/27/2000 11:53 AM IP - Protection was added to the code for doing side projections to prevent a program crash when the user tried to use a spectrum which had no data points in the desired display range. 9/25/2000 9:34 AM LF The manual menu selection for File/Write would work only if a filename had been previously set in a macro. This was corrected to always force a file write dialog box when manually selected. 9/21/2000 1:48 PM XT - The extract spectral region command was expanded to allow extraction of slices from a 2D data set. When in the non-arrayed mode or the two-lettered command mode, the command works as before and extracts to spectral region defined by the zoom limits. When used for extracting slices of a 2D data set, the command works only in the Arrayed mode and only in the non-two-lettered command mode. It takes at least two arguments with an optional third argument. The base command can be XT or extract. Examples: Extract 2 FirstHalf This command would take the current data set and remove the last half of the data slices. Extract 2 LastHalf This command would take the current data set and remove the first half of the data slices. Extract 2 128 256 This command would take the current data reduce it to the slices between 128 and 256 inclusively. 9/21/2000 1:46 PM Yn - The command to peak register data slices was modified to register on the largest absolute value point and not the largest positive point.

9/3/2000 12:31 PM UUENCODE AND UUDECODE When Nuts is in the non two-lettered command mode a file may be uuencoded or uudecoded with the following format of commands: Uuencode FileNameIn FileNameOut Uudecode FileNameIn FileNameOut If the filenames donot contain a full path then the path is assumed to be the NUTS root directory. 9/2/2000 2:42 PM AxisPen When NUTS is in the non two-lettered command mode the command "axispen" may be used to change some of the characteristics of the axis line. Examples are: Change the screen only axis line to a width of 2 axispen screen 2 Change the axis line to a width of 2 only when printing axispen print 2 Change the axis line to a width of 2 for both screen display and printing axispen both 2 Change the color of the axis line to red axispen 255 0 0 Change the color of the axis line to green axispen 0 255 0 Change the color of the axis line to blue axispen 0 0 255

8/24/2000 4:03 PM GB When any GA, GB, or GC command was given the current file name for File A was updated to the file name given. This was causing some problems when reading and interleaving a complex 2D data set when the reals and the imags were in separate files. This was changed so that the file name was not ALWAYS updated/ Interleave A new command was written to interleave two data sets into a new data set. This command works only in the non-twolettered command mode and only for the Complex Arrayed Mode. The two data sets must have the same number of points and slices. The resulting data set will not have been saved. Interleave FileName1 FileName2 8/24/2000 10:19 AM IS The InSert routine was modified to include any DC offset the displayed spectrum had when the insert was created. In addition the "[" and "]" keys were activated when in the insert routine to add and subtract DC offset for the current insert. 8/24/2000 9:01 AM ID The menu selection under Edit for zeroing out the integrals did not do anything. The "Z" keystroke did work correctly. The menu choice was activated and now both the menu choice and the "z" keystroke work.

8/23/2000 5:03 PM SUM There was a coding error in the sum routine which put the sum of the reals into both the reals and imaginaries. This was corrected so that the sum of the reals goes into the reals and the sum of the imaginaries goes into the imaginaries. 8/21/2000 1:42 PM IE When used in the non-two-letter command mode, IE (or IncrementExt) can now take arguments. With no argument, the command acts as previously (increments the file extensions of FileA, FileB and the Import File name, if they have numerical file extensions which can be incremented). The new functionality allows the use of arguments. If IE is followed by either "A" or "B" with no second argument, then the extension for file A or B, respectively, will be incremented by one. If there is a second argument it will be used as the amount by which the file extension is incremented. If the second argument is "2" the file extension will be incremented by 2, etc. Negative numbers are allowed as long as the decremented (negative increment) extension will be greater than zero. IE [A or B] [amount] IncrementExt [A or B] [amount] It is important to understand the subtle distinction between the commands "IA" and "IE A". IA increments the slice counter of a 2D file to the next slice. "IE A" changes the current name of file A by incrementing its file extension (provided file A's name has a numerical file extension). 8/18/2000 8:08 AM A non-two-lettered command which takes either one ZeroDiagonal or two arguments. If only one argument is given then the command takes a 2D data set and zeros the diagonal plus and minus the argument number of points. If two arguments are given then the 2D data set s diagonal is zeroed plus the first argument number of points and minus the second argument number of points. Usage: ZeroDiagonal [+ points] [-points] RU - The ability to set the default directory for NUTS macros was added to the NUTS.INI WP The current default path for NUTS macros was added to the Which Paths (WP) command. RU - The ability to set SW1 and SW2 was added to the DO MATH macro routines. IM The Bruker JCAMPDX exports were found to be using a non-JCAMP standard for setting the reference offsets. In addition, these exports were found to be incorrectly setting the FIRSTX values. This combination of errors was producing a JCAMPDX import from Bruker JCAMPDX exports with an incorrect reference value. The import filter was changed to look for the ##$OFFSET value in a JCAMPDX import and if found to use it to set the referencing. If not found the referencing is still set with the values from FIRSTX and LASTX. 8/5/2000 10:11 AM

PI The Phase Increment (PI) command was expanded. In the nontwo-lettered command mode, the PI or PhaseIncrement command can take optional arguments. If one argument is given it is used as the A phase value when doing the phase incrementing. If two arguments are given they are used as the A and B phase values when doing the phase incrementing. If three arguments are given they are used as the A, B and C phase values when doing the phase incrementing. In addition, if the first argument is "-cosy" the command does a special case of phase incrementing which allows the diagonal of a 2D data set to be phased to the desired addition three arguments as above. 8/1/2000 1:31:25 PM PC (Long command PhaseCorrect) Some filters on Varian and JEOL data create peaks which cannot be phased with only a zero and first order phase correction. The phasing routines were modified so that in the non 2-lettered command mode, the PC and PhaseCorrect commands can take 3 arguments. The first argument is the zero order phase amount, the second argument is the first order phase amount and the third argument is the second order phase amount. JJ - Carbon shift search - The non 2-lettered command mode commands "pattern", "name", "range" and "reference" were changed to "cpattern", "cname", "crange" and "creference". This is in preparation for adding the proton equivalents -"hpattern", "hname", "hrange" and "hreference". 7/23/2000 11:34 AM SUM a new command for the non 2-lettered mode of operation was added. This command with no arguments (or SU in the 2-lettered command mode) adds all slices of an arrayed data set and creates a single 1D data set which is the sum of the slices. In the non 2lettered command mode it can take two arguments: Sum [start] [end] Used with one argument sum will create a 1D spectrum which is the sum of all remaining slices starting with slice [start]. Used with two arguments sum will create a 1D spectrum which is the sum of all slices from slice [start] to slice [end] inclusive. DIVIDE a non 2-lettered command mode takes in one argument and divides the current data set by that number. MULTIPLY a non 2-lettered command mode takes in one argument and multiplyes the current data set by that number. VW When viewing an arrayed data set in complex arrayed mode, a "Z" will zero the displayed slice. 7/20/2000 11:21 AM GA Many times users with a Macintosh anywhere on contaminates a data file with a Macintosh Resource type 3 NUTS header, the NUTS detection and reading modified to ignore a Macintosh Resource Fork if it

their network Fork. With a routines were is present.

7/19/2000 11:13 AM GA The identifying as a nuts file and the reading of a Type 3 header was modified to be insensitive to multiple line comments.

LF Reading a lines file in a non-macro mode failed to ask the user for a file name. This was corrected to bring up a dialog box for selecting the file name to open. 7/16/2000 9:04 AM ZO A bug which crashed NUTS when the F sub-command of the ZO sub-routine was issued only on Windows 9x systems only after printing was isolated and fixed. 7/11/2000 11:27 AM IM The reference offset (O1) was changed in the MacFID import filter. 7/7/2000 12:21 IM Processed being imported updated to get PM Galactic SPC type III data saved as reals only was with incorrect referencing. The TRANLIB.DLL was this information correct.

7/7/2000 8:12 AM LF Single letter sub-commands were added for the "Get Lines Information File" (G) and Write Lines Information File (W). New macro commands were added to set the file names for these operations: SET LF_GET_FILENAME = xxxxxxx.yyy SET LF_WRITE_FILENAME = xxxxxxx.yyy The operation of these commands were made Macro aware. Another set of Macro Commands were added to increment any filename extensions for these file names (xxx.001 to xxx.002): DO INCREMENT_LF_GET_FILENAME DO INCREMENT_LF_WRITE_FILENAME 6/14/2000 12:33 PM SM Computer shimming was added to the SAM module. Two methods were added, one where the system shims like a person would (SubCommand A) and another which uses Simplex(Sub-Command B). Both shim to the same Z level as Randomize Level is set to (Sub-Command E). If a spectrum is being displayed (Sub-Command S) then the Lock Level is used for shimming. If a FID is being displayed (SubCommand F) then the power value of the FID points is used. When shimming with the A Sub-Command, a shim log (shimlog.txt) is created in the current NUTS data directory. 6/12/2000 10:17 AM For NUTS header type 3, the D1 list was neither saved nor read. This was changed to read and save any D1 list with the file. The TRANLIB.DLL was also updated to have this feature. 6/1/2000 3:28 PM DP 2D DP pick lists can now be saved with the file in header type 3 when in arrayed mode. When re-loading the file the DP list will be loaded if NUTS is set to auto read the tailer or on the TA command. 5/29/2000 8:45 AM BT A code error on doing a Bruker FT with a non-power of 2 data set was corrected. 5/24/2000 1:46 PM TA An extra CR/LF was being added to the tailer with header

types 1 and 2. This was causing a failure when the tailer was read from these files. Broken integrals and other tailer information could not be successfully recalled with the TA command. This problem was corrected. 5/18/2000 5:30 PM Edit Display Parameters while in IP/CP routine - The old values for the margins were not being saved when the user entered the Edit Display Parameters from the Edit menu while in the IP or CP display routines. This cause the values to be set to zero if the user canceled with the CANCEL button. This was fixed. 5/12/2000 2:01 PM IN The In command was modified to allow batch processing with the FF command to be done on files which do not have file name extensions which can be increment. Links like: FF FT PS SA IN Before the modification links like the one above would fail if the file names could not be incremented even though the incremented filename was not being used. Now if NUTS is running a link with an FF command the IN command is aware of this process and responds accordingly. 5/11/2000 1:51 PM Display Crash On some Windows NT 4.0 systems with the display running at 1280 x 1024 or higher resolution, making the NUTS window go to full screen was causing a memory violation. This happened only in the QD mode and not the SD mode. One user reported that it happened only sometimes and another reported that it happened every time. It only happened with NT 4.0 and only on some systems not on all NT 4.0 systems and never on a Windows 2000 or Windows 9x systems. We could not reproduce this in house on several NT 4.0 systems but did a fresh NT 4.0 SP6 installation on an old P90 system and got reproducible failures. The display compression code was found to be the area of the memory failure, but no coding or compiling errors were found. The drawing of the spectrum was changed from a single Polyline of screen width resolution to a series of Polylines of 256 steps per Polyline. This fixed the problem on our one problem test system. 4/28/2000 11:19 AM LF - The LF fitting routines were modified to allow some of the fitting parameters to be held constant during the calculation of the best fit. 4/22/2000 10:14 AM R# - where # is a digit between 0 and 9. This routine registers an arrayed set of 1D spectra. The desired spectral region is selected by setting the region while in ZOom with the # key where # is a digit between 0 and 9. The corresponding R# command will use this region to find the tallest peak in the region and left or right shift the remaining spectra to make the tallest peak in each subsequent region have the same chemical shift. The ends of the shifted spectra are lost or set to zero. This routine works in the non-arrayed mode or Complex Arrayed Mode. In the process of this change, the old command R2 for take the square root of the data was changed to RO. 4/22/2000 10:31 AM

Axis in SP - Bug which cause the axis to be full x size in stacked plot was corrected to allow x size equal to the first spectrum. 4/22/2000 3:44 PM MH - The MH command was modified to allow use in the non-two letter command mode. The command can be MH or MinHt and if it has no arguments then the standard dialog box comes up and allows the user to enter an MH value. If it has one argument that argument is converted to a number between zero and 100.0 and the MH value is set to that number. If it has two arguments and the second argument is "rms" then the first argument is converted to a number and the MH value is set to that argument times the current rms noise of the spectrum. 4/23/2000 2:50 PM The LF routine was modified to allow exclusion of some line parameters during the auto-fitting routine. The default was set to fit all parameters of each line except the Fraction Lorentzian lineshape parameter which is by default set to 1. 4/23/2000 3:24 PM Some corrections were added to better handle some Bruker WinNMR data. 1/13/2000 Version 200001xx JJ- A new carbon pattern search routine was added to NUTS. This routine is documented in the help files. 10/18/99 Version 199910xx DP An error in the placement of peak labels for negative peaks when baseline DC position was not zero and when peak labels at top was turned off was corrected. DP A menu check item under the DP / Edit menu was added to change the default behavior of the automatic peak picking for the labels On Top. DP and PP A tendency for NUTS to falsely find a small peak to the right of an already selected negative peak was corrected. 10/17/99 BU Two errors in the Buffers sub-routine addition/subtraction/multiplication/division routines were corrected. Error 1 gave an offset frequency error proportional to the distance from PPM equal zero when the two spectra had different SF values. Error 2 was an incorrect interpolation when the data points were unequal. QB QB was modified to take optional parameters in the non 2 letter command mode. If no parameters are given then the routine works as before and automatically selects regions and corrects the baseline by a least squares fifth order polynomial. If there is a first parameter it is used as the block size in points for the segmented correction and the multiple of RMS noise is the value of fRMS set in the peak picking routines. If a second argument is given it is used as the multiple of RMS noise. If a third

parameter is given and is "show" then the current data set is replaced by the deduced baseline. 10/7/99 PH and PE These commands were modified to be array mode aware. When used in the arrayed mode to interactively phase a single slice these commands on exited apply the determined phase correction to each slice of the data set. 10/6/99 Version 199910xx TD The use of header type three was creating some illegal memory errors when doing "some" TDs in the non-arrayed mode. This was worked around by eliminating some of the unused header information. 9/28/99 Version 199909xx License A new encryption method for the NUTS license was developed and placed in a DLL. This was done because of a Russian cracker was distributing a license generator for NUTS. All NUTS licenses will need to be regenerated when upgrading to newer versions of NUTS. 10/1/99 Version 199910xx Windows 3.1 Memory allocations methods were changed to allow the Windows 3.1 Win32s version to be updated to the current level of NUTS. 7/26/99 Version 199907xx Substitute - In the non-2 letter command mode and in arrayed mode only, this command takes either 2 or 3 arguments. If there are 2 arguments then the first argument is the target slice and the second argument is the source slice. If the program is in the "complex arrayed mode" then the source slice will be written over the target slice. If the program is in the "3D complex arrayed mode" then the source slice will be written over the target slice for every plane. If there are 3 arguments then the first argument is the plane in which the second argument (target slice) will be written over by the third argument (source slice). This works only in the "3D complex arrayed mode". Planes - In the non-2 letter command mode this command takes an argument of the plane number of a 3D data set to make the current default. Substitute Transpose 2 or 3 - In the non-2 letter command mode the Transpose (TD) command accepts an optional argument of "2" or "3". The default action if no argument is present is "2". This command operates on the current multidimensional data set to bring the indicated dimension into the first dimension. Whatever dimension of the data is in the first dimension has the power of NUTS's 1D processing tools available. Array (AR) Professional Version Only. In the non-2 letter command mode, the array command now accepts a "3d"

argument. When the command is processed the current data set is loaded into memory as a 3D NMR data set with pts3d planes of pts2d slices of pts1d complex points of data and the status bar shows the program in the "3D Complex Arrayed" mode of operation. Similar to the older "Complex Arrayed" mode of processing 2D data, when commands which are "array aware" (such as FT MS etc) are issued the entire data set is processed with a single command. DIMS A command available in the non-2 letter command mode which allows a block of data to be redefined as to the number of points in the four dimensions. The total data size is checked before and after the redimensioning and an error is generated if they are not the same. If the user is really sure (NOT RECOMMENDED) a fifth argument of "override" is allowed and the redimensioning will take place regardless of whether the point count before and after are different. For example: Dims 512 64 4 1 override Would change the block of NMR data to have: 512 complex points in the first dimension 64 slices of data in the second dimension 4 planes of data in the 3rd dimension 1 volume of data in the 4th dimension Improper use of this command can cause program crashes when processing the data after its improper use. 6/29/99 IP - The 2D display routine has been expanded to provide more options for displaying high resolution spectra on the borders. Spectra can now be placed at the top, bottom, left and/or right edges. These border spectra can now be clipped to allow showing of small peaks. The 2D axes now have editable labels, so they can be more descriptive. They can be edited in the View / Spectral Parameters dialog box. 6/11/99 Version 9911xx IM Bruker Aspect imports changed to show date in Nuts as 4-digit year instead of 2-digit year. If year as read from file is <80, Nuts assumes this must be a date after 2000. Otherwise, it is assumed to be a date 19xx. Bruker XWin-NMR import of 2D .ser files was modified to read the chemical shift offset for the indirect dimension from the proc2s file. Bruker X32 imports changed to read PULPROG instead of AUNM for the name of the pulse program. Bruker X32 1D imports changed to read OFFSET from procs file to get correct chemical shift reference. Bruker XWin-NMR import was changed to swap real and imaginary halves of the data, as this seemed to always be required.

CR A dialog box allowing the setting of the contour colors has been added. LV A dialog box allowing the setting of the contour levels has been added. 6/04/99 MA - There are 100 memory locations (even though the Math dialog box shows only the first 10). The memory registers above 9 in the math routines could not be transferred to a register. This was corrected so that Memory x to Register y works for x between 0 and 99 and y between 0 and 9 inclusively. IP Some changes have been made to display of projections or 1D spectra on the edges of contour plots. The Display menu now has commands to clip each projection to prevent the tall peaks from being drawn over the contours when the vertical display is increase enough to see small peaks. If a true projection is used, rather than a 1D spectrum, it can now be scaled and clipped also, and is no longer recalculated when the screen is redrawn. XB and XR These commands have been replaced by menu items inside the contour plot subroutine, and so have been eliminated. Header Type 3 the NUTS header type three is now ready for use. This header is a JCAMPDX style ASCII header with several NUTS specific options. The data remains binary IEEE floats in Little Endian (Intel) format after a ^Z in the header. NUTS can transparently read all NUTS header types and saves data according to a flag in the NUTS.INI. Header Type 3 is where most new features of NUTS will be supported and can expand indefinitely to allow for newer features. The header type can also be set and queried with the "header" command (See Commands.txt). In bringing out this header, 2D and File C operations were extensively debugged for all headers. 5/26/99 Version 9905xx FB A memory allocation error involving the FB and Zoom routines was corrected. This error could cause Nuts to crash when Zoom was entered following baseline correction of an expanded spectral region. 5/24/99 IM Files from some programs which output files in Felix New format failed to import correctly. This was because these programs had a location in the header which indicated the wrong header type. NUTS was modified to just assume these were NUTS files of header type 1. 5/23/99

Close File C A bug developed keeping track of File C pointers and name. This showed up mostly with header type 3, but was also present with other NUTS headers. Problems were most apparent when importing Bruker files with the RI on import flag set in the NUTS.INI file, or when zero filling (or processing with a FT on a non power of two points data set) in the non-arrayed mode. 5/15/99 Version 9905xx 2N and 2F Commands executed in the NUTS base level were originally two letter commands that automatically executed after entering the second character on the keyboard. A new mode has been created allowing longer commands, which requires <ENTER> to execute a command. In this non two-letter command mode, commands can be longer than two letters. This mode can be toggled on and off while NUTS is running with the 2N (2 letter command mode oN) and 2F (2 letter command mode oFf). If the flag below in the NUTS.INI file is set to TRUE then the default behavior is that an <ENTER> is required before the command is executed. CR_FOR_COMMANDS = FALSE. When this flag is set to TRUE all two letter commands will require an <ENTER> before they execute. ^C A bug which prevented copying to the clipboard with the Control C command was fixed. IM The GE/Nicolet NT import filter was modified to correct dates after 12/31/99. The NT software represents the year by 2 digits, and does not recognize 00 as a valid year. NT owners should set the spectrometer's date to 1980 for the year 2000, and to 1981 for 2001, etc. When Nuts detects a date earlier than 1985, it will assume it is a false date, and will add 20 years to the date. IM The import filter for GE Medical Systems "raw" data from Signa systems was modified to read critical parameters from the file header. 5/14/99 ^Z An undo feature was added for the base level commands. Before any base level command is executed, a copy of the current file is saved to a temporary 10-layer file cache. After a base level command is executed, a Control-Z command can return the system to the state before the command was executed, by re-loading the previously saved copy. This feature does not work in the subroutines. The undo function can be turned on with the UN (Undo oN) command and turned off with the UF (Undo ofF) command. Its default state when NUTS is started is defined by a line in the NUTS.INI file which is UNDO = FALSE Note 1 The unsave feature is automatically disabled when processing 2D files in the non-arrayed mode. Note 2 - ^Z within the Zoom subroutine is a totally unrelated command.

5/12/99 IM Some further improvements in the Galactic SPC file import filter were added. 5/5/99 FB-S A new sub-command to the FB subroutine which selects all regions. Useful if it is easier to deselect a few regions than to select a lot of regions not automatically selected. FB-F A new sub-command to the FB subroutine which is appropriately titled Fudge the baseline. It takes all the selected regions and corrects each one for dc and tilt in each selected regions. Unselected regions are corrected for DC and tilt based on the selected region before and after the unselected region, to avoid discontinuities. This is useful for very distorted baselines that cannot be fit with a polynomial. 5/2/99 VP, GS, ZG commands and vSpec menu were disabled in the Anazasi OEM copies of the NUTS program. 4/30/99 Version 9904xx IM Anasazi files were being imported in a manner requiring an SR after FT. This was corrected. EF Email File was added as a command on the File menu on the Windows platform only. If your system already has a Windows email client set up, you can email the current file to someone with this command. Since the disk copy of this file is what is emailed as an attachment, be sure to save the file if ANY processing has been done of the file since it was loaded from the disk. WV SH and VW caused problems while in the WV routine. These commands were disallowed while in the VW routine with an error message. 4/23/99 Y# A new routine was added to do block averaging of an arrayed file. If a series of 1D files are collected and stored as slices of a 2D file, then this routine can be used to average these files with peak registration to create a 1D file which is the sum of the slices. A region containing a peak to be used for registration is chosen while in the zoom routine and assigned to a numbered zoom region by pressing a number key between 0 and 9. Then the command Y# is executed(# is a number with the same value as the chosen zoom region). The result will be a 1D spectrum in memory which is the sum of all individual slices with peak registration on the tallest peak in the chosen zoom region. CF A bug cause this routine to be broken. The bug was fixed. 3/22/99 Version 990322 Galactic Import Filter The Galactic Industries data format import filter was greatly expanded to support their importing.

3/20/99 License.NMR the reading of the License.nmr file was changed with improved encryption.. 2/18/99 Version 990218 Gridlines The ability to display gridlines on the screen and plots was added to NUTS. The display of gridlines can be toggled on and off with the Ctrl-G command. The default NUTS behavior is set in the NUTS.INI file with the parameter: GRIDLINES = TRUE If this parameter is set to anything else, the gridlines will not be displayed by default, but can still be turned on with Ctrl-G. IP Right Projection a bug was fixed which had caused the Right Projection not to be displayed on full-spectrum contour plots. 2/15/99 Version 990216 SL In the non-arrayed mode, when a slice was loaded using SL, the parameters were not being reloaded. This created problems, particularly if processing of a slice included any operation which changed the number of points in the data set (such as ZF or RT). When a new slice was loaded, the parameters were incorrect. The program was changed to force a re-reading and updating of the parameters with each new slice. This slows the processing of 2D data in the non-arrayed mode a little but avoids operator confusion. Target Cursor A new feature was added to the cursor routine for read-out of frequencies. In difference mode, the new feature shows the average chemical shift between the marker and the current position, in addition to the frequency difference. This can be useful when measuring both the coupling constants and chemical shift of splitting patterns such as a doublet. 2/13/99 Version 9902xx LICENSE.NMR The configuration of the NUTS software and its options have been changed. All existing licenses should be automatically recognized and run as the correct new version. The new configurations are: The demonstration version now allows printing, but with "Demonstration Copy" printed over the spectrum. The demonstration version now includes the Virtual Spectrometer and Shimming Simulator. NUTS Lite includes everything in the demonstration version, plus saving, printing and copying. NUTS Lite now comes in two versions with support and without support. The "without support" version costs less but is not eligible for upgrades, technical support or site licensing. The "with support" version is eligible for upgrades, technical support and site licensing. NUTS 1D includes everything in the Lite version, plus

expanded tools for 1D NMR processing and now includes the Searchable Archiving tool. NUTS 2D includes everything in the 1D version, plus tools for processing and displaying 2D data. NUTS Professional includes everything in the 2D version, plus tools which allow arrayed mode processing. On modern computers with enough memory, the arrayed mode is 12 times faster on Windows and 40 times faster on a Macintosh. 2/10/99 Version 9902xx RT and ZF A bug was discovered and fixed when using these commands for the non-arrayed mode 2D processing of data which was not a power of two in size. 2/5/99 Macro Added Macro commands to ask for the user to set values for the following processing parameters: LB GF T1 T2 S# For example, the format to ask the user for a value for line broadening (LB) the macro command would be: ASK LB 2/5/99 MATH Added the macro commands below to the MATH routines: DO MATH ZOOM_REGION i x y Sets Zoom Region i. The value in register x becomes the left end of Zoom Region i (in ppm), and the value in register y becomes the right end (in ppm). DO MATH REGISTER x SW1 Puts 1st Dimension sweep width into Register x DO MATH REGISTER x SW2 Puts 2nd Dimension sweep width into Register x DO MATH MEMORY x SW1 Puts 1st Dimension sweep width into Memory x DO MATH MEMORY x SW2 Puts 2nd Dimension sweep width into Memory x 2/2/99 Version IM Added the import filter for Bruker XWINNMR 2RR files. 1/24/99 Version 9901xx IM Added the Date to the import filter for Bruker X32 files. IM New import filters for JEOL AL files which have the extension *.als was added. These have been tested on 1D

files only. Some new Arrayed Mode commands were added, as follows. These commands facilitate processing of gradient data which must be processed by adding or subtracting pairs of slices. (An example is Varian g_hsqc data, which uses the new C2 command.) C1 This command works only in arrayed mode with data sets which have an even number of slices. This command adds the reals and imaginariess of even and odd slices and gives back a data set with half the number of slices. C2 This command works only in arrayed mode with data sets which have an even number of slices. This command adds the reals and subtracts the imaginaries of even and odd slices and gives back a data set with half the number of slices. C3 This command works only in arrayed mode with data sets which have an even number of slices. This command subtracts the reals and adds the imaginaries of even and odd slices and gives back a data set with half the number of slices. C4 This command works only in arrayed mode with data sets which have an even number of slices. This command subtracts the reals and subtracts the imaginaries of even and odd slices and gives back a data set with half the number of slices. 1/20/99 Version 9901xx Math Four new items were added to the MATH macro commands. DO MATH SF1 // Put Reg 0 into SF1 DO MATH SF2 // Put Reg 0 into SF2 DO MATH REGISTER x SF1 // Put SF1 into Reg x DO MATH REGISTER x SF2 // Put SF2 into Reg x DO MATH MEMORY x SF1 // Put SF1 into Memory x DO MATH MEMORY x SF2 // Put SF2 into Memory x 1/19/99 Version 9901xx IM Bruker Xwin NMR data files in directories with the subdirectory name was a number greater than 99 were being mis-identified as a different kind of Bruker file. This was changed to allow names to be numbers up to 999. 1/19/99 Version 9901xx MO An axis font multiplier was added to the MO_Helper dialog. This is the factor by which the axis font will be multiplied when the inset plot is created. The axis font of the main plot is not affected. 1/7/99 Version 9901xx Metafiles Metafiles were giving some problems with the size of the axis fonts depending on what was done with NUTS before the metafile was transferred to the clipboard or the a disk file. The metafile creation routine was rewritten to improve this situation. 1/5/99 Version 9901xx

SM Some timer functions were added to the ShiMming simulator in NUTS. When the magnet homogeneity is randomized with the "?" sub-command, a timer is started. When the user says he is done and examines the correct answers with the ":" sub-command, the elapsed time is calculated and a shimming score is calculated based on the quality of the shims and the length of time it took the user to shim. 12/16/98 Version 9812xx PP Each time the PP command was issued the peak label setting was forced to be PPM. This was eliminated so that whatever peak picking type chosen (hertz or PPM) in the DP routine was left in effect for the PP command. 12/15/98 BU Dividing a spectrum by the buffer was added to the BU routine. 12/14/98 Cmd Key Q on the Macintosh - The Macintosh version of NUTS would exit on a CmdKey Shift Q key. This was expanded to also exit on CmdKey "q" key. ID - The V subcommand in the ID routine has two dialog boxes for data entry and display. The size of these boxes was expanded to avoid clipping off digits. 12/10/98 ZO A bug got into the code where the Zoom Regions could not be assigned with a number key while in zoom. The switch routine was keying on the ASCII code for the number key instead of the value for the number key except for "1" and "2". This was corrected so that the appropriate zoom regions were assigned with the number key. 11/5/98 Version 9811xx IM - The parameters for processing Bruker digitally filtered data was added to the JCAMP import filter. MA - A provision for adding the number of decimal places to show was added to the Math calculator. The Macro command for using this to set the number of decimal places to show to "x" is: SET MATH DECPLACES x 11/4/98 A bug was fixed where if there a peak list from a PP recent spectrum was retained for display when a new smaller spectrum was recalled the program could crash when the program attempted to display peaks at data points beyond the end of the current data set. 11/2/98 JCAMP The import filters were enhanced to import to import the following JCAMP-DX5 formats. XYDATA // For Reals only spectra BLOCKS // For Real and Imag pairs NTUPLES // For Real and Imag pairs Each of these JCAMP types can have five different forms

of compression: FIX or AFFN // Uncompressed ASC II ASDF // Compressed ASCII * PAC // Packed * SQZ // Squeezed * DIF // Difference * DIFDUP // Difference with duplicate suppression NUTS can export data as FIX XYData or NTUPLES. No form of compression is supported for export. 2D copies of NUTS can export 2D data sets as NTUPLES. 10/15/98 Version 9810xx MA A new routine for doing calculations (Math) was added. While the routine can be used as a calculator from the user interface, its utility is in the macro area There are 10 REGISTER, 10 MEMORY and 10 INTEGRAL locations. The REGISTERs act like a stack where when a math operation is done it is performed between REGISTER_0 and REGISTER_1 and the answer is put in REGISTER_0 and REGISTERs 2 thru 9 roll down one level. Use of the ENTER function puts the value in REGISTER_0 and rolls the stack up. There is one comment field which will precede the value in Register 0 when the Note is created. The math operations possible are: add subtract multiply divide reciprocal natural log log base 10 exponential power MACRO COMMANDS: -------------------------------------SET MATH REGISTER x value // Set Reg x to "value" SET MATH COMMENT string Make "string" a comment DO DO DO DO DO DO DO DO DO DO DO MATH MATH MATH MATH MATH MATH MATH MATH MATH MATH MATH + // These operations take // place on Register 0 * / RECIPROCAL // 1/Reg0 EXP LN // Natural Log LOG // Log Base 10 POWER // Reg0**Reg1 OF1 // Put Reg 0 into 1st dimension offset(O1) OF2 // Put Reg 0 into 2nd dimension offset(O2)

DO MATH CLEAR // Clear all registers, memory & integrals

DO DO DO DO DO DO DO DO DO DO

REGISTER x OF1 // Put 1st Dim O1 into Reg x REGISTER x OF2 // Put 2nd Dim O2 into Reg x MEMORY x OF1 // Put 1st Dim O1 into Memory x MEMORY x OF2 // Put 2nd Dim O2 into Memory x REGISTER x REGISTER y // Reg x to Reg y REGISTER x MEMORY y // Reg x to Mem y MEMORY x REGISTER y // Mem x to Reg y INTEGRAL x REGISTER y // Integral x to Reg y INTEGRAL x MEMORY y // Integral x to Mem y NOTE x_pos y_pos // Cats together COMMENT and // Reg0 to a NOTE // at x_pos, y_pos // percent of display, // a number between 0 and 100 DO MATH GET_INT // puts the Integral of Zoom Region x // into INTEGRAL x DO MATH ENTER value // Puts "value" into REG 0 and // rolls the stack up. ASK MATH REGISTER x ASK MATH MEMORY x // Ask for a value for Reg x // Ask for a value for Mem x

MATH MATH MATH MATH MATH MATH MATH MATH MATH MATH

10/5/98 ShiM A small version of the shimming simulator (SAM) SM has been added to NUTS. 9/8/98 Version 9809xx NS The memory allocation method used in the NS routine was causing some problems on some systems when doing 10, 11, and 12 spin simulations depending on which OS was used and how much memory was available. This area was improved to cure the problems found. 9/3/98 IP A bug was reported in the beta which was tracked down to a problem when the file header needed to be updated. By default any header writing to the disk copy of the file was done in the new format. The problem was tracked down to a few places where the header was updated (to the new file format) and the data part of the file was left as it was (in the old format). This was corrected. IM The Macintosh version of the import routine failed to identify and import the NMRi VAX data while the Windows version functioned correctly. This was due to a byte swap problem and was corrected. 8/31/98 Version 9808xx IP A menu specific to the IP routine was added. Included on this menu is the ability to define the spectra to be used at the right and/or bottom edge of the 2D display. This method can be used in addition to XB and XR commands. 8/28/98 BU A new routine was added to NUTS (full 1D and above not available in NUTS Lite) which allows 10 memory buffers to be filled with the current displayed data (zoom region or full data set depending on display type).

This buffer can then be displayed above any data set loaded into NUTS even if the point size or spectrometer frequency is different. The displays are registered in PPM with the current data set. Amplitude and vertical display position for each buffer can be adjusted in the BU routine. The current data set can also be added, subtracted or multiplied by any buffer. Since the number of data points in the current data set or any buffer does not have to be the same, the addition routines make an attempt interpolate between points to do the addition or subtraction. When the spectrum and buffers are very different the results are sometimes not as good as desired. 8/1/98 File format - To make way for expansion of NUTS to more than 2D spectra, a new NUTS data format (NUTS data format Type 2) was developed from the original format (NUTS data format Type 1 or CDFF). NUTS can automatically read either format but will write the Type 2 format by default. There is a flag in the NUTS.INI allowing the user to tell NUTS to write the old type 1 format. 7/16/98 Version 9807xx IS - The IS routine was modified such that if in the IS routine an Insert is partially out of the current display it can still be moved with the mouse. Before the entire Insert needed to be inside the current display before it could be moved. PP and DP A flag was put into the NUTS.INI file to allow the user to turn off the automatic peak label avoidance. This feature can also be invoked in the DP peak description dialog box the user gets when right clicking on peak label while in the DP routine. 7/4/98 Help The NUTS help system was converted to HTML help. 7/1/98 IM A new import filter for TecMag NTNMR data was added. 6/29/98 Version 9806xx ZF - A pointer to a memory allocation space was changed to eliminate a strange program crash. The crash was strange in that it did not happen every time and happened differently on different PCs. LN In arrayed mode, a call to free memory used the wrong pointer. While no errors were visible to the user, a memory leak was happening. 5/30/98 Version 9805xx NS The NMR spin-spin simulation routines were improved to be faster. For example with a Pentium Pro 200 computer the molecule propane (8 spins) took about 16 seconds to calculate. After the modification the calculation takes about 1.5 seconds. On the same computer butane (10 spins) took 54 minutes 16 seconds (3256 seconds) before and takes under a minute (55 seconds) after the code

changes. The number of calculations required increases much faster with increasing spins than the number of spins. Therefore, the speed improvements are greater with a higher number of spins. 5/29/98 IM - A new type of Bruker file format was discovered. This type arises which the file is transferred from a Bruker Aspect computer to a PC with a file transfer method called BrukNet. This transfer starts with a file with a name like BASENAME.EXT. When transferred to the PC the user gets two files with names like: BASENAME.EXT+ The binary data p_BASENAME.EXT The parameters An import filter for this file type was added. The user needs to select the parameter file and NUTS will autoidentify the new file format. 5/19/98 IP and CP Changes were made to the target routines in these functions to make the initial target position to be at the mouse cursor position instead of one toolbar height above. Target The printing of information at the bottom right of the display was modified to attempt to keep it from writing over the axis. 5/15/98 Version 9805xx AR Arrayed mode processing was tested on some 2D file processing. It is about 12 times faster on a PC and 50 times faster on a Macintosh. E6 NTUPLES JCAMP-DX5 exports were exporting the same slice over and over for 2D files. This was corrected. AR Problems with some new code for automatic scaling were causing the Arrayed mode to fail. This was corrected. IM and GA Some additional protection was added to keep the lack of NULL string terminators from causing comment and pulse experiment string corruption in the header. Macintosh PPC version had some byte swapping when writing out files. This caused the program not to be able to read files it had just written to the disk. This was corrected. 5/7/98 Version 9805xx IM Jeol Generic imports were assumed to be always double floats. In some cases Jeol data can be a long integer. Detection for this was added to the IM routines so that both types of data import correctly. D1 The dialog box for the D1 list was failing to appear because of a mis-spelling in the code. This was corrected. IM and GA Some data exported to NUTS CDFF format was

failing to NULL terminate strings in the header. This was causing NUTS to write the strings over other header information and resulting in various problems. NULL termination was forced when NUTS reads the data to prevent this problem. Macro An Ask Shift command was added to the macro commands. This command will ask the user for the chemical shift to use with the Position Reference (PR) command. The PR command will set the chemical shift of the tallest peak in the currently displayed region to the value returned from the Ask Shift macro command. 4/28/98 Version 9804xx RD RD in a link or macro required the user to manually do the first spectrum to initialize the number of points to rotate the data before using RD in a Link or Macro. This was changed to initialize to the default values even if RD had not been done manually when RD was used in a Link or Macro. PH and PE - If the user was in the PH or PE subroutine and tried to do a QA, QP, or AP without exiting the Ph or PE subroutine, the program crashed with a memory conflict. The PH and PE routines were changed to ignore all keyboard commands until they are exited. 4/22/98 Version ZF When ZF is now used in the frequency domain the following parameters are now updated to keep the spectrum's chemical shifts and axis accurate: number of points in the first dimension sweep width offset frequency 2A (To Average) Brings up a dialog box allowing the viewing/editing/entry of the number of points to use when averaging the ends of regions when correcting the baseline with the BF or FR commands. An entry of zero lets the program automatically determine the number of points to average. The automatic algorithm is of the selected region is bigger than 256 points then 16 points is used in the averaging. If the selected region is less than 256 points and greater than 64 points then 8 points are used for averaging. If the selected region is less than 64 points and greater than 16 points then 2 points are used for averaging. If the selected region is less than 16 points then the end points are used directly without averaging. If the number of points set by the user is greater than the entire selected region then the entire selected region is averaged. POINTS_TO_AVERAGE is a macro command used with the set macro function to set the number of points to average when calling the BF or FR command. Usage: set POINTS_TO_AVERAGE 64 4/21/98

ZO - A new feature of the ZO command is the ability to define ten different Zoom regions (zero through 9) by highlighting a zoom region and pressing a 0 to 9 key while in the zoom routine. These regions are stored in PPM not in points as the main Zoom region is stored. A defined Zoom region can be recalled with the Z0, Z1, Z2, Z3, Z4, Z5, Z6, Z7, Z8 or Z9 commands. Note that regions #1 and #2 are the regions used by the PE command when phase correcting. Zoom_Region - This macro command can be used set the zoom regions in a macro. Usage: set ZOOM_REGION 1 2.30 1.10 where: ZOOM_REGION is the keyword for the set macro command 1 is the region number being set 2.30 is the starting PPM value for the region 1/10 is the ending PPM value for the region X0 - This command extracts the spectral region defined by Zoom region number 0 (zero). X1 - This command extracts the spectral region defined by Zoom region number 1 (one). X2 - This command extracts the spectral region defined by Zoom region number 2. X3 - This command extracts the spectral region defined by Zoom region number 3. X4 - This command extracts the spectral region defined by Zoom region number 4. X5 - This command extracts the spectral region defined by Zoom region number 5. X6 - This command extracts the spectral region defined by Zoom region number 6. X7 - This command extracts the spectral region defined by Zoom region number 7. X8 - This command extracts the spectral region defined by Zoom region number 8. X9 - This command extracts the spectral region defined by Zoom region number 9. Extract_PPM - This macro command can be used extract a spectral region in a macro. Usage: do EXTRACT_PPM 2.30 1.10 where: EXTRACT_PPM is the keyword for the "do" macro command 2.30 is the starting PPM value for the extraction 1/10 is the ending PPM value for the extraction FR - Flatten Region - This command removes the baseline offset and tilt of the current zoom region. It is

similar to the BF command except the BF command makes an effort to keep the baseline at the ends of the zoom region continuous while the FR command does not. 4/6/98 Version 9804xx NO - When the Notes function was modified to have the dialog box accept pasting from the clipboard the Windows 3.1 version stopped accepting any new notes. The paste from the clipboard was disallowed for the Windows 3.1 version. Toolbar - The toolbar icons were enlarged 50%. Page Setup was added to the toolbar. The icons were replaced with icons which should imply the function called. The tooltips still indicate what the toolbar button does in plan language. 4/3/98 PW and PD The new NUTS version created a bug where the PW and PD values were read in correctly, but saved as zero if the file was resaved. 4/2/98 AS Additions to the NUTS.INI file: Intial values for the AS (Add/Subtract) routine AS_Mult is the initial multiplier AS_DC is the initial percent vertical screen offset AS_Mult = 1.0 AS_DC = 33.0 3/31/98 Version 9803xx NO - The NOtes routine was modified to allow pasting to the edit box from the clipboard and to allow vertical scrolling for longer text notes. PE - The PE routine was modified to use the tallest peak in region 1 as a pivot point. Region 1 is then phase corrected by mouse movement with A phase only and region 2 has the same A correction applied then is corrected with B correction with mouse movement. NO The Notes routine was modified to allow pasting from the clipboard to the Note dialog box. 3/17/ Toolbar - Many changes were made to address the problems created by the addition of the toolbar. 3/16/AL and AS The AL and AS commands were made array aware. In the arrayed mode AL now loads the entire matrix into a buffer when in arrayed mode. The AS command now adds/subtracts each slice of the current spectrum to the corresponding slice in the buffer. IP and CP The mouse selection of slices and zoom regions was being done incorrectly if the toolbar was turned on. This was updated. 3/15/98

IM The spectrum name of an imported file was reported incorrectly on the plots. This was corrected. IM Importing of Chemagnetics SpinSight data was not getting the pulse width or recycle delay values correct. This was corrected. RI The RI command had a bug if the arrayed mode which was corrected. 3/10/98 Version 9803xx Toolbar A tool bar was added to NUTS for a few basic functions. This can be turned off in the NUTS.INI file. 3/1/98 Version 9803xx FP Fid Play was writing a temporary file to the same directory as the NUTS Help files. This was creating some problems on restricted network installations of NUTS. This was corrected to write the file to the Windows temporary directory. The error messages in this routine were also expanded to help provide more useful feedback an system configurations having problems with playing the audio of an FID. 2/27/98 Version 9802xx PP and DP on the Macintosh versions of NUTS now supports the vertical font alignment of the peak labels. Expert Mode - For people who like less questions and dialog boxes popping up, a flag has been added to the NUTS.INI file that stops NUTS for asking "Are You Sure??" type questions in a lot of areas. DP When NUTS is in the "Arrayed Mode", the DP command can now automatically pick peaks in the 2D data set. This data can now be directly saved in the same format as SpecMan from Spectrum Research (subcommand lowercase s)as well as the standard NUTS peak data format(subcommand capital S). The data saved in the SpecMan format is ready to be used by NMRSAMS from Spectrum Research. It has been our experience that 2D automatic peak picking is more subject to false peaks than a standard 1D automatic peak picking. This is probably due to a combination of factors: lower digital resolution, lower signal to noise and increased presence of artifacts. NUTS does allow for quick graphical addition ( mouse click) and elimination (K subcommand of the DP) of automatically picked peaks. AR - A new optional ($250) processing mode accessory has be added to NUTS. This option is called "Arrayed Mode" processing. It is intended for NUTS users who have more advanced PC systems with a lot of memory (greater than 32 Mbytes) where 2D processing speed is important. When NUTS is toggled into this processing mode with the AR command, the entire 2D data set is loaded into memory. Then NUTS commands which are "Arrayed Mode aware" operate on the entire data set when issued. For example, when the user enters the FT command all slices of the 2D data set are Fourier Transformed with the single command. This mode of operation provides a 12 fold speed

improvement when processing a 2D data set. Metafiles - Working with the GDI experts at Microsoft, the code for metafile creation was enhanced to greatly reduce the number of GDI instructions included in the metafile. Using several compression techniques, the enhancements create much smaller metafiles which seem to work better when placed into other Windows applications like Word. With previous versions of NUTS, Enhanced Metafiles seem to always print when placed inside Word but Placeable Metafiles failed to print properly after two or three spectra were added to the Word document. Even though the enhanced metafiles did print, they were much larger files than the current NUTS version generates and made Word operate slower. It is our recommendation that, with the Windows versions of NUTS, metafiles be saved to the disk using the "Copy Printer DC Enhanced Metafile to File" option. The next best choice is "Copy Placeable Metafile to File". In our hands these two choices insert into Word and print correctly. With the Macintosh versions of NUTS, the similar options to the clipboard should be used. The objects in the clipboard can then be pasted into Word from the clipboard. 2/6/98 Version 9802xx DM and DS The work on DP peak labeling created an area where if a spectrum in a database did not have a peak list the search aborted with an error. This was corrected. 1/23/98 Version 9801xx IS In the IS routine and when right clicking on an Insert, a Tick Density for that Insert was added to the Dialog box. 1/22/98 Version 9801xx IM We have come across a Bruker XWINNMR Version 2.0 data set where the data was in floating point as opposed to integer. After examining the ACQUS for how to tell these two formats apart, we made a WAG and have the import filter working for the one example of this data that we have. E6 NUTS supports the JCAMP-DX 5.0 standard data format for import and export. Two classes of data types are supported XYDATA and NTUPLES. XYDATA is useful for data being displayed by some other display program and contains only the reals from the spectrum. To be able to process data imported in this format requires doing a Hilbert Transform to create a complex fid from the reals only data. NTUPLES supports RI pairs. Bruker software can import and export data in this format using extensions which are Bruker specific. NUTS follows this technique by using extensions to the JCAMP-DX standard which are specific to NUTS. Efforts have been made to make these extensions the same as the Bruker extensions whenever possible. This means that NUTS can import Bruker exported JCAMP-DX

spectra and, hopefully, Bruker can import NUTS exported JCAMP-DX spectra. NUTS can also export 2D spectra in the JCAMP-DX style. This is outside the JCAMP-DX standard definitions and is not supported by Bruker. If we become aware of any further definitions to the JCAMP-DX standard, we will make efforts to keep our exports faithful to the defined standard. Even though NUTS does export a TD and TD_2D term in the parameters for the number of points in both dimensions of a data set, they are ignored on import with the actual number of points being determined as the data is being imported. 1/16/98 Version 9801xx IM JEOL alpha data has an older format with a different header size. Information in the header was used to automatically adjust the import filter for the two different formats. 1/13/98 Version 9801xx WS Window Size to aid in the use of the bitmap clipboard and getting a known size for the bitmap, this command sets the computer display size to a given value in X and Y pixels. 1/11/98 Version 9801xx Menu The Tools menu was updated to be more compact and to show the IS and NO commands. NO A new routine called NOtes was added to NUTS. This routine allows the addition of multiple line notes to be added to the spectrum. While in the NO subroutine the following subcommands and actions are available: - The mouse can be used to move a Note. "A" or Left mouse click brings up a dialog box to add a note. As computer memory allows, there can be MANY Notes added to each spectrum. "C" subcommand clears all current Notes from memory. "S" toggles the display of Notes on and off. Control L does this at the Base Level of NUTS operation. Right Mouse Click on a Note while in the NO subroutine brings up a dialog box allowing the selected Note to be deleted or the note font and font to be individually set for each insert. IS A new routine called InSert was added to NUTS. This routine takes the currently defined zoom region and makes it into an inset plot (Insert) on the current spectrum. While in the IS subroutine the following subcommands and actions are available: - The mouse can be used to move and resize an Insert.

"A" subcommand adds the currently defined zoom region as the next Insert. As computer memory allows there can be MANY Inserts added to each spectrum. "C" subcommand clears all current Inserts from memory. "S" toggles the display of Inserts on and off. Right Mouse Click on an Insert while in the IS subroutine brings up a dialog box allowing the selected insert to be deleted or the type of axis, the axis font and font size and hertz per centimeter on the plot to be individually set for each insert.

12/30/97 Version 9712xx DP, PP, QB The DP, PP and QB commands were added to the platforms other than Win95/NT. 12/22/97 Version 9712xx QB (Win95/NT Version) This command was added to do a Quick Baseline correction equivalent to an FB,L,A series of commands. This quick baseline correction is allowed in NUTS Lite whereas the full FB routine is not in NUTS Lite. ID (Win95/NT Version) The integral value display position algorithm was modified to display in three different positions: 1 At the end of the integral value( 1 = slightly above the integral end, 2 = at the integral end and 3 = = slightly below the integral end ). 2 at the top of the display centered in the x direction at the middle of the integral. 3 at the bottom of the display just above the axis centered in the x direction at the middle of the integral. These three positions can be toggled through with the m sub-command while in the ID sub-routine. DP (Win95/NT Version) The overlap avoidance algorithm was further refined with an option to fan the peak labels at the top of the display above the peaks. PP (Win95/NT Version) The PP routine was modified to use algorithms from the DP routine to label peaks automatically. These labels can be further modified in the DP routine. This command now labels picked peaks in the NUTS Lite whereas the full DP routine is not available in NUTS Lite. ZL (Win95/NT Version) This command was added to allow quick removal of all current peak label information. It is the equivalent of a DP, C series of commands. 12/05/97 Version 9712xx DP (Win95/NT Version) A routine was added to the DP routine to allow single line comments to be added to the displays

and plots. DP (Win95/NT Version) The DP routine was enhanced with an overlap avoidance algorithm to keep the labels from writing over themselves. 12/01/97 Version 9712xx NS (Win95/NT Version) The Dialog Box for data entry was divided between two dialog boxes because of size. The simulation routine was expanded to handle 12 spins. The calculations take a VERY long time (can be days) and are not recommended. 11/26/97 Version 9711xx JCAMP-DX Import filter. (Win95/NT Version) The JCAMP-DX import filter was improved to take either Hz of PPM in the X units. The auto-identifying routine was improved to add JCAMPDX to the JCAMP-DX identifying strings. 11/22/97 Version 9711xx Tailer Some fields with information in the IF routine were not being saved to the file tailer if there was no ID list or DP list. This was changed to always save the tailer even if no ID or DP lists are present. Therefore the IF fields are also always saved. 11/19/97 T+ A severe bug in the tailer read caused the current File A to be destroyed. This was corrected and some error messages added to make errors more enlightening. 11/5/97 FP New command to play the FID to the audio output. This lets you hear the fid. If the sound drivers continue after an fid is played then the next sound will reset the drivers (type G and <return> to get a beep). Pen Width an entry in the NUTS.INI file allows the setting for the default pen width to be something other than 1. 10/9/97 Version 9710xx ZO,F and SP A bug where the 2nd dimension slices was being reset when the ZO F subroutine was used to set the zoom frequency range was FINALLY found and fixed. This problem showed up mostly when SP was used to display a zoomed region for a stacked plot. 9/3/97 Version 9709xx SZ The SZ commands sets the tallest peak in the displayed region to zero PPM chemical shift. This command has been expanded to work in the second dimension also. If the current display is an intensity or contour display then the tallest peak in the displayed region is set to zero PPM in both dimensions. Macro Commands - Several new Macro Commands were added. DO DELETEFILE FileName This macro command deletes a file with name "FileName". Wildcards are allowed on the Windows versions but only a single name is allowed on the Macintosh versions

SET OF1 value This Macro Command set the o1 frequency or the frequency of the center of the spectrum in hertz to "value" hertz. SET OF2 value This Macro Command set the o1 frequency or the frequency of the center of the spectrum in hertz to "value" hertz. SET SPPLOTX value This Macro Command sets x offset for an SP plot. SET SPPLOTY value This Macro Command sets y offset for an SP plot. SET SHIFT value1D value2D This Macro Command sets the tallest peak in the displayed region to the values indicated. If only one value is given then only the chemical shift in the first dimension of the spectrum is set to "value1D" PPM. If both values are given AND the current display is a 2D intensity or contour display then the chemical shift in the first dimension is set to "value1D" PPM and the chemical shift in the second dimension is set to "value2D" PPM. 7/17/97 Version 9707xx IM The new Bruker XWin NMR data format was added to the import filters. IM The Windows 95/NT version had a problem importing the Tecmag data. This was due to a structure alignment problem in the importing DLL. This was fixed. 6/27/97 Version 9706xx IM JEOL Alpha import filters were added to the NUTS import filters. Most of the desired parameters were identified and imported; however, the chemical shift reference frequency was not found. If anyone knows if JEOL saves this information and where it is located in the header, please let us know (support@acornnmr.com). IM The NUTS.INI line which allows for RI on import was not working in the Windows 3.1 and Macintosh versions. This bug was squashed. IM The scaling factor for the JEOL FXQ import filters was identified and used with these imports. This allows these filtered spectra to be normalized when a set of spectra are imported. 6/23/97 Version 9706xx IM With the changes to the new NUTS95 (for Windows 95 and Window NT) format with DLLs the importing filters save a copy of all imported files (1D and 2D) after importing. Previous versions of NUTS saved the file only if it was a 2D file. The bug where the request for RI with Bruker Aspect file importing was ignored has been corrected in the NUTS95/NT version.

The versions for the different platforms has now changed such that the Windows 95/NT version has several DLL files which need to be present in the NYTS directory: TranLib.DLL // Importing filters Matrix.DLL // Matrix math functions FTLib.DLL // FFT routines These files are not present in the Windows 3.1 using Win32s version 1.3, the Windows 3.1 using Win32s version 1.25 (runs on OS/2 Wrap), the Macintosh 68K or Macintosh PPC versions. This is the first step toward converting NUTS to COM objects and has the side advantage the the download times for updates can be less since all the DLLs do not have to be downloaded. Also separate isolated functions located in the DLLs can be updated by just updating the DLLs only. 5/9/97 Version 9705xx DR Problems with fonts which caused the output lines to overlap when the DR display was printed were fixed. 5/8/97 IM A routine was added to import and export the real parts of spectra in JCAMP-DX5 format. More work needs to be done to address both real and imaginary data, fids and 2D data. IM A certain kind of data file transferred From a Bruker instrument by Bruknet is a Unix byte order floating point file without parameters. This file in the past had the first word 0x04000100 and the second word the number of data points. These files still worked but another flavor of the Bruker data was found which had the first word 0x04000100. This was added to the auto-identification procedures. DM - The Database Make command had a Windows 3.1 bug which was causing the database not to be made in certain cases. The problem was related to the tracking the path to the files. Additional code was added to eliminate the problem area. MO - The order of the search for metafile types ( enhanced, standard and placeable) was working on all platforms but Windows 3.11. There the placeable metafile was successfully oped by a standard metafile call leaving the metaobject empty. The order was changed to work around the Windows 3.11 bug. Versions - The NUTS NMR processing software package has now been separated into code targeted for the platforms noted below: Windows 95/NT Windows 3.11 with Win32s Version 1.3 Windows 3.11 with Win32s Version 1.25 for OS/2 Wrap Macintosh Power PC with OS 7.0 or greater Macintosh 68K (slow especially with floating point) The new NUTS programs will have a Version Number which is a reverse date (YYMMDD) and will state the target

platform for which it was compiled in the about box which is displayed at the start of the program. Each of these code packages are separately maintained and are compiled with different Versions of Visual C++. To the extent possible, all new features and bug fixes are added to all platforms. Features not supported by the older Visual C++ versions will not be added to the respective code packages. With the dwindling support from Microsoft for the Macintosh and Windows 3.11, these code packages will not have the new features available in Windows 95 and Windows NT. An example is the lack of a Task Bar in the version for OS/2. It is our experience that Windows NT (Workstation or Server) is the most stable platform with the least problem areas. We would recommend this platform to NUTS users capable of converting to it. ES The Export Full ASC file command was eliminated. 4/8/97 Version 5.109 ES The Export Full ASC file command was eliminated. E1 This command now does a full ASC export of the current data ( See File / Export in the main menu). E2 This command now does a header ASC export of the current data ( See File / Export in the main menu). E3 This command now does a reals only ASC export of the current data ( See File / Export in the main menu). E4 This command now does a real/imaginary pairs ASC export of only the current data ( See File / Export in the main menu). E5 This command now does a frequency/intensity ASC export of the current data ( See File / Export in the main menu). SET ExportFile. This command was added to the macro commands to assign a name for the ASC export file. Usage: SET EXPORTFILE filename This set file name is erased after any export command is executed. ASK ExportFile. This command was added to the macro commands to ask the user for a name for the ASC export file. Usage: ASK EXPORTFILE This set file name is erased after any export command is executed. File/Export. This command was deactivated for the demo copy of NUTS. 4/8/97 Version 5.108 DM Database Make - This command is available with the Searchable Archive accessory for NUTS. On the Windows

PCs it will take all the NUTS files in the selected directory and construct a text file with links to the NUTS data files. This operation makes the database (Searchable Archive). Due to limitations of the Macintosh operating system and the Microsoft NT cross compiler for the Macintosh, this operation must select a test file which has a list of NUTS files in the current directory from which to construct the database. DS Database Search - This command is available with the Searchable Archive accessory for NUTS. It brings up a dialog box where the user can enter search criteria for searching the user selected database file. All the search criteria are ANDed. The compound name entry can have several words separated by spaces. Each of these words are ANDed to do the search. When the search is complete, NUTS informs the user of the number of files meeting the search criteria. After this a dialog box comes up with information about the first match. The user has the option to cancel the match display, to move the next match or load the current match file into NUTS for display. VS View Search - This command is available with the Searchable Archive accessory for NUTS. After a database has been constructed and searched, this command brings up the last set of matches for the user to re-examine. B1 Transfer the current data to buffer 1. B2 Transfer the current data to buffer 2. B+ Add buffer 1 to buffer 2 and put the sum in place of the current data. B- Subtract buffer 2 from buffer 1 and put the difference in place of the current data. B1 Transfer the current data to buffer 1. B2 This do a BC instead command command existed for a long time. Its purpose was to operation on fid data using all the data points of only the last section of the fid. This was changed from B2 to BA.

4/2/97 IM More work was done to get the Bruker Unix files to import in a more robust manner and with the correct SR orientation. The program now expects the user to double click on the file named fid. It then goes back up the directory structure until a directory with a name longer than 1 character that is not "PDATA" is found. This is assumed to be the name of the file of interest. Various searches are tried below this directory to find the "ACQUS" and a "PROCS" files. If these files are not found then another search looks for "ACQU" and "PROC" files. If these files are found then the information in them is used during the import process.

A similar search is preformed when the "1R" file is selected for importing. These files are always assumed to be transformed spectra and will be paired with "1I" files if they are present. TD An authorization logic error prevented the program from allowing a TD operation. This error was created when adding the ability to do database operations. The coding error was corrected. 3/28/97 Version 5.107 ID The C subcommand of the ID routine to clear the broken integral list was not in the menus. This was added to the menus. TD An error in the authorization logic caused the 2D versions not to be able to do a TD. The error was corrected. 3/12/97 Version 5.107 Import ASC - This import filer failed to identify all the possible parameters that the ASC export routine included. It also got the two data pairs reversed. Both of these items were corrected. Export RI Only - This exported the data but added header information. This was corrected. Export Header - This function failed to open a file for output. This was corrected. IM NMRi data did not identify or import on the Macintosh. This importing bug was fixed. PH The PH phasing was modified to allow the user to select a pivot point for the PH phasing operation. This is done from the "target" routine (press and hold the left mouse button from the Base Level of NUTS) by positioning the cursor at the desired pivot point and typing "P". This pivot point will be used for all PH operations until changed by the user. DM Some database features have been added to NUTS as an optional accessory. The Database Make command constructs a keyed text file from all NUTS files in the specified directory. This text file contains information from the IF command, the DP peak list and the ID integral list. This text file can be searched by any text editor or other program of the users choice. It can also be searched by the DS command in NUTS. DS The Database Search command brings up a dialog box which allows the user to enter some information. This information is used to search a database made by the DM command. The result of this search is another text file with the hits and a dialog box showing information about the first hit. The user can chose to proceed to an inspection of the next hit or load the current hit into NUTS for closer inspection.

3/4/97 Version 5.106 DP Problems with deleting resource objects (such as fonts) and recovering the resources (memory, handles and etc) with Windows 95 (not with Windows NT or the Macintosh) were reproduced in house. It appears that, in spite of the Microsoft documentation to the contrary, Windows 95 and Windows 3.1 under Win32s do not allow resource objects to be deleted and recovered indefinitely. All this seems to work as advertised under Windows NT. To attempt a work-around for this problem the method NUTS uses to handle fonts was modified. The new method seems to have greatly reduced (eliminated??) the problem in the DP routine where the fonts would change from vertical to horizontal as more peaks were added and some systems would not print after this happened. The current changes have eliminated the problems on all in-house tests. PL - While making the changes to the font handling (as described above under DP), a possible cause for the Macintosh first plot being displaced toward the axis was discovered. It is possible that this problem has been fixed. It has with all in-house Macintosh computers. PL - Several changes to the plotting routines were made to make the parameter boxes line up better with the plots. 2/27/97 Version 5.105 DP A bug in the DP routine which crashed the program only on Windows 95 was identified and corrected. This bug was reproducible whenever two peaks were selected in the DP routine and the first peak selected was deleted with the Kill command. 2/26/97 IM Feedback from the NUTS mailing list (nutsuser@acornnmr.com) indicated that all Varian Unix files were requiring an SR after an FT. The import filter was changed to cure this problem. 2/16/97 Version 5.104 MO A Windows 95 specific problem where the operating system would get caught in an endless loop of error messages if the metafile requested in the NUTS.INI did not exist was fixed. 2/16/97 Version 5.103 MO The ability to save in the file tailer the current Meta Objects was added. It is a limited save along the following guidelines: The are three types of Meta Objects: Clipboard, Memory and Disk File. The Clipboard and Memory Meta Objects are volatile and are not saved in the tailer and are lost when NUTS is closed. Disk File based Meta Objects are non volatile and are saved with their current path information in the tailer. As long as that path information is correct,

these Meta Objects are recalled when the tailer is recalled. MO A problem where what type of Meta Object was done before an enhanced metafile was discovered. The symptom was that the enhanced metafile became attached to the previous Meta Object instead of the main window. This problem was corrected. LF The Save Digitized Spectrum option failed because of improper string initialization. This was corrected. 2/16/97 Version 5.102 ID A command (L) in the integral subroutine was added to delete the last broken integral in the list. IM Importing some GE Omega files was causing some string overloads. The code was adjusted to eliminate this problem. IM One type of "pascal" JEOL headers was found to lead to an endless loop for some header information. This caused the program to hang while the endless loop was executed forcing the user to close and restart NUTS. This was corrected. 2/15/97 MO The Meta Objects routines have been expanded. The user can now capture spectral regions and place them in the display and plots as "inset plots". The position and size of the Meta Objects can be controlled with mouse operations by the user. This feature is now available for the Macintosh versions of NUTS. The MO routine now uses a "Helper" window. This is an effort to make NUTS subroutines easier to use. The helper window can be disabled with an option in the Main Menu. The helper window is a separate window which can be placed anywhere on the screen and provides mouse options for subroutine operations as well as informing the user of their keyboard equivalents. The Meta Objects themselves have been expanded to include not only spectral regions captured out of NUTS but also metafiles in the clipboard or on the disk. This provides the user with increased annotations on each plot such as his own logo and the chemical structure. 2/5/97 MainMenu | Parameters - The main menu item Parameters was eliminated. There is now a new item in the MainMenu | View called Spectral Parameters which will serve the same purpose as the eliminated MainMenu | Parameters item. MO The toolbar in the Meta Objects routine was modified to show the entering and exiting of the Meta Objects routine. 1/31/97 Version 5.101 IM Chemagnetics data import's offsets were being done

incorrectly due to a misidentified parameter (rmvunits instead of rmvunits1). The result was an apparent problem if the spectrum was referenced in PPM instead of hertz. The problem was corrected. 1/30/97 Version IM Routines to identify JEOL ALS and Alpha data formats were added to the import filters. These routines do not identify many if any parameters. The ALS filter will import 1D and 2D data but the data samples we have at this time seem to import real/imag set into the reals and another real/imag set into the imaginaries. Doing a SH after importing gives the correct looking data but at half the size. The Alpha data gets no parameters and is good ONLY for 1D data. 1/23/97 Version 5.100 SA and SB - When saving a series of 1D files and incrementing extensions, NUTS was always asking for the file name even in a link or macro. This was modified to ask only when no file extensions have been incremented. 1/19/97 Version 5.098 IM - Importing of Bruker DMX data was updated to be aware of newer versions of firmware (DSPFVS) which are included with the newer digital quadrature detection (DQD) instruments. 1/8/97 Version 5.097 AI - Issuing the AI command with no data loaded caused a program crash. This was corrected. 12/6/96 IM - Lybrix data imports were modified to allow 2D Lybrics files to be imported. The number of 2nd dimension points is determined by the size of the file minus the size of the header divided by the number of 1D data points. 12/5/96 Version 5.096 IM - NMRi imports auto-identification was modified. Some NUTS users were unable to correctly identify VAX versus Unix NMR data. The minimum SF frequency was changed from 0.0 MHz to 1.0 MHz. This change allowed the customers with the problems to correctly import the data. 12/2/96 DP - It was possible to define a DP peak list, not clear it before reading a new file and have those frequencies translate to a data points outside the legal limits of the new file. This would lead to a NUTS crash from trying to access illegal memory. To prevent these crashes, the routine to translate the frequencies to corresponding data points was modified to return the closest legal data point. IP and CP - If an intensity plot or contour plot was being displayed and the user deleted that file, NUTS would hang or crash on the first redraw of the screen. Changes were added to the NUTS code to provide some protection from this unexpected scenario.

11/22/96 Macros - New macro commands were added to allow the size of fonts to be changed in a macro. The macro line: SET FONT_AXIS +10 will increase the Axis font 1 unit. Note the amount to change the font in the macro command is ten times the amount of change of the font. Other fonts can also be changed. Examples: SET FONT_CLIP +20 SET FONT_PEAK -20 SET FONT_INTEGRAL +10 SET FONT_CmdLine -10 Metafiles - Some NUTS users were having trouble getting NUTS standard and placeable metafiles in Word documents to print on some printers. We were not able to reproduce the problem at Acorn NMR. To provide more flexibility in this area, Enhanced Metafiles were added to NUTS. Use of enhanced metafiles addressed the known problems. 11/15/ IM A problem importing some Nicolet NT floating point data files was discovered and corrected. 11/7/96 RU The Macro execution was changed such that if a File A name has been set in the Macro and a SA command is called thereafter in that Macro, the SA command will be executed without user questions for file names or saving the current slice of a 2D data set as a 1D file. A similar change was made for the Set File B commands and the SB command. Set Integral x1 x2 command in a macro allowed the user to attempt to set integral regions outside of the spectrum. When the user made this mistake it could lead to a program crash. This was changed so that the program notified the user of the problem and recovered without a crash. DP The command combination "^M" in a link or macro failed to exit the DP routine. This was corrected. 11/5/96 IM MacNMR files with the Macintosh Resource Fork were correctly identified and imported using Auto Detection, but failed when the MacNMR type was forced using the menus. This problem was corrected. 10/25/96 Version 5.094 INI file For testing purposes and to help configure NUTS to different PC system configurations, a section has been added to the NUTS.INI to configure the memory management mode used by NUTS. The keyword in the NUTS.INI file is MEMMGR. It has three possible values, two of which can be set from the NUTS.INI file. The third value is used internally by NUTS when the PC is running out of memory.

The possible values are: 0 (zero) invokes standard memory management 1 (one) invokes NUTS internal block memory management 2 (two) used internally to stop future block allocations 0 is somewhat slower on some systems but should be the most robust system of memory management. In normal 1D file operations there is no disadvantage to mode 0. 1 is the fastest mode of memory management for NUTS. In the 1 mode NUTS allocates a huge chunk of memory and manages it internally. This can be very fast especially for processing 2D files. Only mode 0 is available on the Macintosh platforms. 10/18/96 Version 5.094 INI file When the NUTS program is started on the Windows platforms only, any argument after the NUTS.EXE is also read. If this argument has a path and the file name NUTS.INI, this INI file will be used when NUTS starts. If the file name is not NUTS.INI then this argument will be assumed to be a filename to be opened when NUTS starts. As mentioned these features are available only on the Windows platforms. IF This command brings up a dialog box to allow the user to enter some information about the current spectrum This information is saved after the file data on the disk in a file "tailer". ID When a integral list is present when a file is saved, information about this list is saved after the file data on the disk in a file "tailer". DP When a DP list is present when a file is saved, information about this list is saved after the file data on the disk in a file "tailer". TA If any spectral processing information has been saved in a file "tailer", this command recalls all that information from the tailer. TS If any spectral processing information has been saved in a file "tailer", this command saves that information as a ASCII file. DP To be more consistent with the sub-commands of the subroutines, the command for zeroing all currently selected peaks in the DP routine was changed from "Z" to "C" which now stands for clear all selected peaks in the DP list. 9/25/96 Version 5.092 RD - Rotate Data used calculations to determine how many points to cyclically rotate the data based on the decimation number in the Bruker header. When the decimation number was a power of two, a different calculation should have been used. The RD process was changed to use the proper calculation when the decimation was a power of two. 9/23/96 Version 5.091

DP - The default for the information label in DP was the PPM of the peak picked. This was changed so that the default is the peak number. This allows for peak listing correlation to a label on the spectrum. DP - The default label orientation for DP labels was vertical if in a 1D display mode and horizontal if in a 2D display mode. This is still the same but lines have been added to the NUTS.INI file to allow the user to select the default orientation. DP - The DP peak information box brought up by the right mouse button now contains a check box which allows that peaks orientation to be selected independently. IM - Certain kinds of imports where the data was just being read in and back out with minor changes, such as CDFF integer, were failing. This was because NUTS failed to open a file for writing data to after checking if this file already exists. The problem has been fixed, but a work-around for older versions is to copy the file to a file with the same name with a "$" added to the front. Then try to open the original file and when NUTS asks if the file with the "$" name should be replaced say yes. 9/18/96 Version 5.090 DP - A preliminary version of the ability to select a DP label and drag it to a new position with the mouse was added to the DP routine. Windows 95 - Many Windows 95 customers have complained that NUTS crashes inside the DP routine. This problem is not reproducible on Windows 95 systems at Acorn NMR. The problem therefore has something to do with system configurations. This type of problem is commonly the result of the graphics driver. When the DP attempted to draw its peak labels it did not prevent the drawing of peak labels outside the displayed area. In an attempt to reduce the Windows 95 DP problems, a check in the DP routine was added to bypass the drawing of peak labels outside the display area. Links and Macros - The Statusbar addition had produced a problem with Link and Macro execution. The problem was that the link or macro would pause execution until some user input was received such as mouse movement. This was corrected and the links and macros now execute without the need for user inputs. 9/10/96 StartUp Macro - A new entry to the NUT.INI file allows the user to enter the path to a macro file. If this line contains a valid macro, the macro will be executed when NUTS starts. A sample line for the NUTS.INI file is: AutoExecMacro = C:\NUTS\MAC\GET_EB.MAC 7/15/96 Version 5.08 IM A New type of Bruker Aspect file was found. This one is transferred by LightNet to an X32. When this happens the files are expanded from 24 bit Words to 32 bit Words. A

file import filter was created for this type of file. It is known to work for a very limited number of samples. Right Mouse Button Since the standard Macintosh mouse only has one button, some NUTS features were difficult to use on the Macintosh. These are features which require using both mouse buttons simultaneously. A workaround allows the period on the keyboard to substitute for pressing the right mouse button in two cases. The first case is the base level "difference" cursor mode. Instead of using the 2 mouse buttons together, the green marker cursor is set by pressing the period key while the red crosshair cursor is displayed (with the left mouse button). Then, as the crosshair cursor is moved, the difference between the cursor position and the marker cursor is displayed in real time. The second case is to display slices in real time while displaying a 2D intensity or contour plot. Press the left mouse button to display the red cross-hair, and then press the period key to display the slice at the cursor position. The slice display is updated in real time as the cursor is moved. IM There were problems importing JEOL files on the Macintosh platform. The import routines were reworked to eliminate the problems. RU There were problems running macros on the Macintosh platform. The macro routines were reworked to eliminate the problems. SS Disk accessing was changed to make the SS command much faster. IP Disk accessing was changed to make the IP displays faster. ID Some of the text at the bottom right of the screen showing a real time digital readout of the cross-hair cursor position and the integral readout was being covered by the new status bar. This information was moved up on the display to clear the status bar. This problem was also corrected on the Macintosh platform. 6/10/96 Version 5.07 IM Bruker WinNMR file import filters have been added. These files are in a directory which will be used as the imported file name. WinNMR files come in two flavors and need to have certain files present in that directory for successful importing: Old Conversion filename.par // ASCII parameter file filename.fid // Complex 1D time domain data filename.ser // Complex 2D time domain data filename.1r // Real frequency domain data filename.1i // Imaginary frequency domain data

New Conversion. filename.dis // ASCII parameter file filename.fid // Complex 1D time domain data filename.ser // Complex 2D time domain data filename.1r // Real frequency domain data filename.1i // Imaginary frequency domain data Double clicking on any of the files will automatically identify the files and import them. IM Several types of imports from unix boxes would fail with a program crash if a line was blank or became corrupted. Protection was added to allow the import to continue or fail gracefully for these cases. 6/10/96 Version 5.06 HELP New help files were prepared for the Macintosh and Windows platforms. IM ATI file importing on the Macintosh had some problems which were corrected. IM Bruker Ethernet by way of VAX had some importing problems on the Macintosh which were corrected. Memory - All memory allocations in NUTS were changed to generic C memory allocations except for the clipboard memory allocations which still use Windows Memory allocation techniques. 6/8/96 Version 5.05 Some commands were generating memory allocation and deallocation errors. The errors were most noticeable with command combinations like ZF RT. Changes were made to address these types of problems. 6/4/96 Version 5.04 StatusBar The addition of the statusbar caused a failure of all LINKs and Macros. This was corrected. 6/3/96 Version 5.03 IM A single file version of exported GE Omega Data was added to the import routine. 6/1/96 Version QA Quick automatic phasing of zero-order (A) only was added. StatusBar A Status bar was added to NUTS to provide the user information about the menu commands and the subroutine level the program is at. 5/14/96 ES Export Spectrum command was added to available commands so that it could be used in a link. The command does a full ASCII Export of the current data set. 5/14/96 Version 5.02 TP On the Windows 3.1 platform only, the total phase (TP) values when phasing was done in a link were not being

updated. S@ The "SET S@" in a macro was failing and always setting the S@ number to zero. This was corrected. TD TD on arrays bigger than 2048 by 128 crashed the entire PC and/or Windows only on Windows 3.1. This was found to be an error in memory allocation under Win32s which was allowing the allocation of big blocks of memory but the memory was not valid to use. A trap was put in to use smaller memory chunks only on Windows 3.1 under Win32s. IM The pulse experiment string (EX) was added to the JEOL Lambda imports. 5/10/96 Version 5.01 LI A Link Count Limit was added to the LINK dialog box. When this number is zero it is ignored during the execution of Links. When it is set to a positive integer, a link will stop execution after that many passes through the link. RU The following commands were added to Macros: SET FULLFILEIMPORT SET FILEIMPORT ASK FILEIMPORT SET LINKLIMIT 5/8/96 Version 5.00 IM The IM command was changed to allow its use in a LINK. The filename for IM can also be incremented so that in a LINK FILE.001 will be incremented to file.002 with the IN command. This means that a series of 1D files can be imported and arrayed into a arrayed data set with one LINK such as: IM SC IN The above LINK will imported a series of 1D files with file names like file.001, file.002, file.003 and etc and store them in a single arrayed data set. The IM command was also modified to not save an imported file with the "$" in front of the name WHEN the imported file is a 1D file. The current FileNameA variable is updated to the new string, but the file is not saved to disk. If you want to save the imported file, you must now do so with the SA or SB command. 2D data files ARE imported AND save to disk with the new name. The combination of these two command changes means that the LINK discussed above will create the arrayed data set without creating intermediate files on the disk. IM The RPParams last_delay from the file header was imported as Recycle Delay for MacNMR and MacFID data importing routine. IM F2 frequency and F1 domain information was added to JEOL Lambda imports. IM Bruker Aspect data imports were expanded to detect MSL

files. The sequential versus simultaneous data acquisition detection was also redone to eliminate some errors in the automatic detection process. 5/6/96 Version 4.99 IM GE Omega file importing was being mis-identified as GRAMS-386 data. The order of the identification process was changed to aid in correct identification. The process of forcing Omega file importing was corrected to work if the header file exists and has the extension of ".hed" or ".h". 4/24/96 Version PS If there was given, the NUTS so that with no 4.98 no data set loaded when the PS command was program would crash. This was corrected data set the PS command would fail.

4/17/96 PL Margins on plots were failing only on Windows 95. They worked correctly on Windows 3.1 and Windows NT. This was due to a Windows 95 error where the origin was lost after it had been reset for the new margins. A work-around was found in the code to just reset the margins and origin after Windows 95 had forgot them 4/11/96 IM JEOL Lambda data imports. JEOL Lambda import now works and gets most of the parameters. We still have not found the following information to extract from the header: 1. Time or Frequency Domain - now assuming Frequency. 2. Real or Complex Data - now assuming Complex. 3. We need some sample Hypercomplex and TPPI data to test importing. IM Tecmag data now imports the user if the information is in the Tecmag file tailer. 4/9/96 Version 4.97 RL This is a new command which reads an encrypted text file and generates a new LICENSE.NMR file. This is an attempt to aid users who want to get a new LICENSE.NMR file by email, but who cannot handle attached binary files. Before RL is executed any current LICENSE.NMR in the same directory as the NUTS.INI file must be erased. Before erasing the current copy of LICENSE.NMR, a backup copy of the current LICENSE.NMR file can be made by copying it to a different name if desired. RL will read a specially prepared file which MUST be named LICENSE.TXT and MUST be in the same directory as the NUTS.INI file. A new LICENSE.NMR file will be created which will have the information from the encrypted LICENSE.TXT file. To prepare the LICENSE.TXT file, make a request to support@acornnmr.com for a new license for NUTS. The license file will be emailed back. Take the text email message and extract the obvious area where the license

information is and save this as a text file with the name LICENSE.TXT to the same directory as NUTS.INI. Erase any current LICENSE.NMR file in that directory and execute the RL command from inside NUTS. 4/8/96 IM Problems with a different flavor of Bruker UXNMR/P data forced a modification of the Bruker importing routine. The data still needs to be experimentally identified for possible need of byte swapping. The NUTS.INI flag BRUKER_UNIX_BS = FALSE can be set to TRUE if the data appears to import incorrectly. 4/1/96 Version 4.97 DB Data to convolution Buffer. This command transfers whatever is in the current data to the convolution filter data buffer. This allows users to create customized apodization functions. The CV command can be used to view the contents of the buffer and the CA command will apply the apodization by multiplying the buffer times the current data file. BD convolution Buffer to Data. This command transfers whatever is in the current convolution filter data buffer to the current data. 21 A command similar to the 2L command was added. The 2L command converts all data points of the current spectrum (reals and imaginaries) to a constant value of 4096. The 2L command stands for "to line". The 21 (two one) command has been added to do the same thing but the line's value is set to 1.0. This is useful for creating apodization functions. R2 This command takes the square root of the data points of both the reals and imaginaries. If the data points are negative the point is replaced with the negative of the square root of the negative of the points value. ZN This command zeros all negative data points of both the reals and imaginaries. 3/29/96 Version 4.96 PL The margins for the printing failed due to code changes to force clipping on plots and metafiles. This problem was corrected and the margins work correctly with this version. RU Some new macro commands were added to the NUTS macros: To clear all defined integral regions SET INTEGRAL CLEAR To set an integral region between 1.3 PPM and 4.7 PPM SET INTEGRAL 1.3 4.7 To set an integral region between 5.60 PPM and 8.45 PPM and set the relative value to 5.0 SET INTEGRAL 5.60 8.45 5.0

To set the largest peak in the displayed region to a chemical shift value of 2.24 PPM SET SHIFT 2.24 RU The Macintosh RU dialog box was changed to ignore the Resource Fork and show all files. This way any editor can be used to prepare and edit the macro file and it will still appear in the dialog box to select the macro to run. LN The macro setting of the number of signals to use in the LiNear prediction trapped out negative values which prevented the macro from setting it to a minus 1 to signal automatic detection of the number of signals to predict. This was changed to have any negative number from a macro to set the number of signals to -1. 3/22/96 Version 4.95 IM Chemagnetics Spinsight data files failed to import if the comment field was blank. This was fixed and the imports tested for 1D and 2D files. 3/7/96 Version SA, SB With a series on numbered 1D files, the SA and SB commands always asked for a filename even when processing in a link. This was corrected so that if you have a valid filename, have done an IE command and are in a link or macro, the link or macro will proceed with the valid filename. 3/6/96 DC The ability to set the DC offset value in a macro was added to the SET commands for macros. Example: SET DC=2 PC The ability to set a default value for PA and PB was added to the NUTS.INI. An example is below: DEFAULT_PA = 13.5 DEFAULT_PB = 43.1 IM A flag was added to the NUTS.INI file for the cases where MOST of the data that is being imported requires a SR after a FT. The flag can be set to TRUE or FALSE. When set to TRUE, this causes the real and imaginary halves of the FID to be exchanged automatically on importing (equivalent to a NUTS RI command), which accomplishes a spectrum reverse. Example: RI_ON_IMPORT = TRUE IM Lybrics data importing requires an SR after an FT as a result of changes to the importing code during the past several NUTS versions. The Lybrics importing was changed to import the FIDs in the opposite order to correct the problem. PH The vertical scaling for the PH phasing display was computed on the maximum Y value in the data set. When

the starting spectrum had all negative peaks this produced a very large scaling factor which was confusing and required the user to scale down before continuing the phasing process. This was changed to compute the scaling from the difference between the maximum and minimum vertical values in the data set. 3/5/96 MO This is the initial version of a new command for displaying inset plots. One or more regions of the spectrum are captured as draw objects and placed on the screen. Each object is a memory resident Windows MetaFile. The user can re-size and re-position each object. When printed, the plot looks as it does on the screen. These operations are performed in a subroutine which is entered by typing MO. First, expand the spectrum to display just the region which will comprise the plot inset. Type MO to enter the subroutine, and then A to add this display to a linked list of plot insets. Select and expand a new region, and repeat as needed. In the initial version, the sub-commands are not yet in the menu or help files: A - Add current display to linked list D - Delete current Meta Object in liked list N - Move to next Meta Object in linked list R - Move to previous Meta Object in linked list While in the MO subroutine, the current Meta Object is highlighted with a box and sizing handles. The mouse can be used to either move or resize the object using the left mouse button. 2/27/96 LN The Linear Prediction routine was modified to be able to automatically determine the number of signals to predict based on the eigenvalue used for the calculation. To have the program automatically determine the number of signals to predict, set the maximum number of signals to -1. 2/26/96 Version 4.94 SL "Improvements" in the memory allocation for 2D slice viewing introduced a bug where LN or ZF in a link caused size errors in the memory allocation and points 1D. This was fixed. QD Memory allocation for the Quick Display was improved to be faster and produce less memory fragmentation. Metafiles - When a metafile was placed into some other Windows applications, regions above and below the normal NUTS displays (e.g., off scale peaks) were sometimes not clipped. The NUTS code was modified to clip the data before the metafile was created. 2/21/96 Version 4.93 ID The ability to save with a file a list of integral regions was added to NUTS. The information is saved in a file "tailer". When in the ID routine, if an "E" is typed

to Enable tailer saving then, when the file is next saved, a file tailer will be saved also, containing integral region information. Later, when the file is recalled, the ID routine is entered and an "R" is typed, then this tailer information will be Read and the tailer's integral information will replace the current integral display. 2/13/96 PL The density of the small ticks on the axis can now be increased in the File/Page Setup dialog box. A value of 1 is the original default, a value of 2 is twice as dense and etc. ZZ The quick file importing defined in the NUTS.INI file (ZZ) was added to the menu under File/Import. PL If there is no current title name for the spectrum when plotting, NUTS now leaves the filename blank instead of printing - Untitled. D1 If there are no time values found when importing a file, NUTS was changed to use the time values (D1) of the spectrum in memory when the file was imported. US The default value for User when importing a file was changed to be a blank. 2/13/96 GR If there were more D1 values in the D1 list than spectra in the arrayed data set (pts2d), NUTS made an error. The type of error and its result depended on where in the program you were and on what computer platform you were running. The GR routine was corrected to ignore any D1 values beyond the number of spectra in the arrayed data set. 2/7/96 Version 4.92 EX When the user typed a string into the Experiment area of the Parameters Dialog box that was more than 40 characters long, NUTS did not protect the string from writing over other parts of the code. This caused strange things to happen depending on where you were in the program at the time. The code was modified to truncate anything over 39 characters in this field and prevent overwriting internal parts of the program. GA, GB - The way the code was written, these routines could make the wrong assumptions in Links and Macros if a file of a different type was currently in memory at the time a Link or Macro executed the GA or GB command. This happened most often when the file to be read also needed to be translated (imported). The code was modified to prevent this type of error. While making the changes, the amount of disk accessing for each read was reduces considerably. The net effect is visible only in 2D processing where there is some improvement.

SA, SB These commands were rewritten to be more efficient code. The changes should not be noticed by NUTS users, I hope! 2/6/96 Version 4.91 DD and AS A bug in the compression routines for the Quick Display mode was introduced when adding new memory allocation methods for the Macintosh code. This bug caused the current spectrum to be displayed in place of the spectrum which had been placed in the Dual Display buffer, so that the 2 spectra appeared to be identical. This happened only in the Quick Display (QD) mode. A temporary work-around was to change to the Slow Display (SD) mode while in DD or AS. With version 4.91 and greater this bug has been fixed. 2/1/96 Resource Leakage - Several areas of the code were rewritten to avoid areas under Windows 3.1 with Win32s which caused resource leakage. 2/1/96 Version 4.90 PL When top margins were set in the File/Page Setup dialog box and the spectrum was expanded off scale, NUTS would still draw the offscale peaks even though they were outside of the defined Viewport. Code was added to define a clipping region so that offscale peaks are not plotted. A similar problem with Metafiles being pasted into other applications was also corrected. 1/28/96 Version 4.89 Help Files were converted from the older style, which was not compatible on all platforms, to the newer Win95 style which is compatible on all Intel platforms. Content of the help file was also revised and newer features were covered. The Macintosh help files have not been revised yet. 1/25/96 Version 4.88 IM MacFID and MacNMR files STILL did not import correctly using MacNUTS versions when the files were transferred by some methods. The problem centered around the Resource Fork on the Mac file being present sometimes and not others. More smarts were added to the importing detection to overcome this problem. 1/24/96 Version 4.87 IM MacFID and MacNMR files did not import correctly using MacNUTS versions. The Intel PC versions of NUTS did import correctly. This was corrected so both Mac and Windows version of NUTS correctly import. MacNUTS The Power PC version of MacNUTS has been released. This version of MacNUTS is much faster than the 68K versions of NUTS. On a 601 66MHz Power PC system, the speed of MacNUTS on most operations is 2 to 3 times that of NUTS on a 486/DX2/66 PC and about one-third that of NUTS on a 100 MHz Pentium. Since this is the slowest

version of the Power PC family, other PowerPCs should be faster. 1/13/96 Version 4.86 TD When the TD routine was enhanced for speed if memory was available (Version 4.83), the faster method did not force the second dimension to be complex as the slower method did. Therefore, if the data header of a 2D data set did not have the second dimension as Complex, the second dimension FT would do the proper FT for the labeled data type as opposed to a Complex FT as previous versions of NUTS did. This has been changed so the second dimension is forced to be Complex as previous versions of NUTS did. The work-around is to manually change the second dimension Data type to Complex, or the force a Complex FT in the second dimension with a CT command instead of an FT command. 12/29/95 Version 4.85 DR The number of significant digits on the T1 fitting answers was increased from 3 to 6. This precision has no validity, but some customers wanted to have the same number of digits as some of there other software fitting routines. Export The number of significant digits on the PPM term when exporting data as comma separated pairs was increased from 3 to 6 digits. This was to prevent some round-off errors found by some users when reducing the data with other programs. IM Some errors on data importing were introduced with the auto identifying test for Philips MR spectroscopy data imports. These errors sometimes caused failure of other types of data imports, with possible crash of the NUTS program. Further tests for illegal values in the Philips tests were included to prevent the problem. 12/18/95 Version 4.84 LN A bug causing problems with macros and setting LN parameters was found and fixed. NB Additional program closing checks with the verbose debug mode were added for analyzing program problems on different platforms. 12/13/95 Version Lite A new version of NUTS ( NUTS Lite ) is introduced with this version. The price on the date of introduction is $75.00. This version comes with no support. IM Importing of Philips ACR-NEMA *.ANW files has been added to NUTS importing. The header for these files does not contain information about the spectrometer frequency or sweep width, therefore this information must be entered manually at the time of importing.

11/29/95 Version 4.83 RU Macros can now be tied to Ctrl-Fxx keys with a special set of key words in the NUTS.INI file. The example below sets Ctrl-F1 to run the MAG_COSY.MAC macro in the C:\NUTS\MAC sub-directory: Macro_1 = C:\NUTS\MAC\MAG_COSY.MAC D2 A new command to do decimation of the data by half. It is intended to work on FID data. Typically the FID data would be low-pass filtered to half the spectral width (DL) and then decimated to use every other point. The result is an FID with half the spectral width and half the data points. SY The SY command was expanded to look for memory and, if available, to load the entire 2D data set into memory and do the symmetrization. On most PCs which have enough memory the operation is now 2 to 5 times faster depending on the PC disk reading/writing speed. TD The TD command was expanded to look for memory and, if available, to load the entire 2D data set into memory and do the data rotation. On most PCs which have enough memory the operation is now 50% faster depending on the PC disk reading/writing speed. TD before was using bigger chunks of memory, therefore the improvement was not as great as with the SY command. 11/28/95 Version 4.82 UH and D1 The D1 list was not being updated with the UH command after it was edited with the D1 command. This was fixed. FB FB now allows the polynomial fit to be used for only the Zoom region. If FB is entered when in the Expanded display mode of NUTS (^E), then only the Zoom region will be used for the fit. The whole spectrum is used for the Full display mode (^F). Macros and Links -- It is now possible to issue NUTS Control characters from inside Links and Macros. To issue a Control F use the two letter command "^" and "F". The "^" tells the NUTS command interpreter that the next letter should be sent as a Control character. This allows Macros and Links to issue the many control characters used in NUTS and to issue an ENTER with a "^M" command. RE Remove a resonance is a command which starts the process of fitting the resonance to a single decay line near zero frequency. This can be useful to remove a residual water line in the center of a spectrum. Results depend heavily on good lineshape, but can reduce the water resonance by more than 1000 in some examples. Type RE and look under Edit for the sub-commands. PH PE These commands were modified such that phase adjustments with the mouse can be done with either left and right mouse movements OR up and down mouse movements.

Preferences can be set in the NUTS.INI file. Below is an example of setting the preference to the sum of left and right and up and down. ; Left and Right = 0 ; Up and Down = 1 ; Sum L&R and U&D = 2 MOUSE_DIRECTION = 0; LN Forward and backward linear prediction has been added to NUTS with the command "LN". The user input for this command is done in a dialog box which appears when the "LN" command is typed outside of a macro or link. Inside of a macro or link the command is executed with the current configuration. The first user input in the dialog box is the number of points to back predict. This number is ignored if forward prediction is chosen. This number has a default value of 2 and should usually be a small number (4 or less). Larger values may cause failure of the prediction algorithm. Back prediction is designed to correct the first few points of a data set which may be "bad" due to pulse breakthrough, receiver gating or filter ringing problems. It is most useful to repair data set (before FT) which have bad baselines after FT. This number can be set in a macro. An example is shown below setting it to 4: SET LNpts = 4 The second dialog input is for the number of points to be used by the prediction algorithm. The larger the value the longer the prediction process takes (a matrix of this square size must be diagonalized). By default during forward prediction, this value must be at least half the data size. Forward prediction always doubles the data size. This number can be set in a macro. An example is shown below setting it to 64: SET LNmdim = 64 The third dialog input is the number of resonance lines to be used by the prediction process. While this is often a value not well known by the user, a small value can most often be used (NUTS default is 10). The larger the value, the higher the chances that the algorithm will fail. This number can be set in a macro. An example is shown below setting it to 16: SET LNnsig = 16 The last control on the dialog box is a pair of radio buttons to select forward or backward prediction. This direction can be set in a macro. An example is shown below setting it to FORWARD: SET Lndirection = FORWARD An example is shown below setting it to BACKWARD: SET Lndirection = BACKWARD S@ A new feature has been added to NUTS which allows the shrinking of a data set by an arbitrary number of points. In previous versions of NUTS the SH command shrank the data set by half. If the S@ number is set to zero or

less, this remains the default SH operation. If the s@ number is set to a positive number the data set is reduced by that many points from the left. The S@ number can be set in a macro with the SET S@ command line. An example of setting S@ to sixteen is shown below: "SET S@ = 16 11/20/95 Version 4.81 IM The D1 value was added to NMRi data importing. MH The MH value was limited to 0.01 to 99.99. This was expanded to be between 0.0000001 to 99.999999. This allows a larger dynamic range for 2D contour plots. ZZ The ZZ command auto import default file name and file type did not have any defaults. This was changed to allow default file name and file type in the NUTS.INI file. 11/13/95 Version 4.80 RU Tracking of the Macro directory was updated to correct a FileOpen dialog initial directory problem which exists only on Windows 3.1. UH An update header control was added to the Parameters Dialog box which allows the user to modify some parameters and then exit the dialog box while updating the file header. It is possible for this header updating (and another one in the process to change spectral offset) to get confused between the current file being displayed and its disk counterpart. NUTS decides on whether to update the Complex, Domain and Axis types based on what is being done and whether the file has changed from the disk copy. If NUTS guesses wrong, the user can manually update these types, exit the dialog box with OK and manually do a UH command. The UH command ALWAYS updates all header information. 11/9/95 Version IM GN Omega file importing added pulse width, pulse delay and experiment to the importing parameters. 11/6/95 FB A least squares option to fitting a polynomial for baseline correction was added to the existing Simplex method. An item was added to the NUTS.INI to allow the selection of which method is used by default when FB is used in a Link or Macro. 11/4/95 IM Importing of Chemagnetics SpinSight Data was importing sweep width data in Hz. The header actually reports the data in kHz. This importing error was corrected. 11/2/95 Version 4.79 IM Importing of VAX based NMRi data was added to NUTS. RU The ability to call programs external to NUTS from a macro was added to aid some users who want to write some

specialized routines for data processing. This is supported only on the Windows based PC, not the Macintosh version. Example: NUTSMACRO Example of calling a command line program ;macro calls a program which is described in a PIF file ;PIF file MUST be "Windowed" (no window will be shown). ;All backslashes must be doubled. call c:\\copyfile.pif end 11/1/95 Version 4.78 ZG On some PCs using some operating systems the random noise generated for the synthetic FID was not quite random. A better more complete random number generation routine was devised and implemented to cure the problem. (For Virtual Spectrometer versions only). IM More changes were made to the Macintosh file importing routines to allow different Mac operating systems to handle the file names correctly. The error was still an error trying to open the output file for writing. Cannot reproduce this problem on the Macintosh in-house.

You might also like