ISDA is a software package designed to perform various tasks on irregularly spaced time series. ISDA can help you to
analyse data sets from such diverse fields of application as astronomy, geophysics, biophysics, business or whatever. But astronomers, amateurs as well as professionals, probably form the largest group of prospective users. ISDA helps by
automating routine tasks and by providing new and effective methods of analysis. Some algorithms that are used in the system were developed in Tartu University and in Tartu Observatory (Estonia) by the author of the system, and are new to
many applied researchers.
ISDA provides many unique tools not found in other ''off-the-shelf'' time series packages.It eliminates the need to work around the limitations of commercial programs not specifically designed for irregularly spaced data. A rich set of commands and options facilitates custom processing and allows investigation of various approaches to time series analysis and determination of that best suited to the data in question. Potential applications for ISDA include:
analysis of photometrically obtained measurements
study of historical photographic plate collections
investigation of sampling effects in interferometric experiments
recovery of waveforms from sparse set of observations
analysis of interrupted series of meteorological observations
If your research project involves analysis of interrupted sets of measurements, or measurements made on an irregular basis, then the ISDA package is just the tool you need for adequate processing of your data.
| Menu driven operation | ISDA is menu driven and completely self-explanatory. It is easy to use and contains all the necessary functions to allow analysis of irregularly measured data sets |
| Data input from free format files | All input data for ISDA can be prepared in a simple format that allows single and multichannel data to be input to the program |
| Data manipulation | The package contains
tools for preprocessing the input data. A graphical editor
allows the singling out of subsets of the data, averaging or detrending, the removal of outlying time points, and so on |
| Data hardcopy | The package has a facility enabling current images from the screen to be plotted on a matrix printer without exiting the main program. There are also tools to prepare and print out presentation quality plots for various output devices (matrix and laser printers, PostScript and Grapher formats). |
| Data generation from prescribed formulae | ISDA possesses an advanced
subsystem to generate artificial input data sets for
evaluating different search and analysis methods. Models can be built
with different sampling properties and time dependencies. The structure of these models is determined by arbitrary algebraic expressions |
| Advanced methods for seeking hidden patterns in the data | In the ISDA package there are implementations of currently known and generally used algorithms for searching for hidden, changing and multiple periodicities. There are also some very new and effective methods that are available only in ISDA |
| Standard Fourier processing tools | ISDA also implements a standard suite of spectral estimation algorithms. You can compute the Deming or Lomb-Scargle type spectra, use apodization with different weighting functions, and compensate for some distortions arising from to unequal spacing in the data |
| Fitting subsystem | ISDA contains advanced model building and parameter estimation
procedures. Weighted Least Squares fits of polynomials,
trigonometrics and arbitrarily given expressions can be made
to the data. The
periods (frequencies) can be refined iteratively. You can also seek the exact values for minima or maxima in the waveforms or analyse slight changes in the nonstationary models (by using the segmentation mechanism) |
| Interactive data display | For every computation or analysis step you can invoke graphical presentations in order to check the results visually. Different plot formats, dimensions, fonts and attributes can be accessed from the plotting subsystem menus |
| Log journal for the work session | ISDA maintains an inner file where user input is mirrored, and computational results are gathered. The log journal can be browsed, and its subsets selected and prepared for subsequent printout |
| Help pages and manual | For every option in the ISDA menus there is a short hint displayed on the screen. For a more detailed explanation the appropriate help pages can be opened. The printed \ISDA user manual provides all details of program operation, and also insights into the theoretical and algorithmical aspects of the analysis methods. There is also a set of tutorial lessons in the manual for the inexperienced users. The package is well suited for use as an educational tool |
The ISDA package is designed for use on a wide
range of the PC type computers. Because amateur astronomers (an important group
of potential users of
the package) often own rather modest systems, we were forced
to discover the most economical ways to pack as many functions as
possible
into a small configuration. This is why strategically important
parts of the system are programmed in Assembler language. To use ISDA
you must have at least:
An IBM Personal Computer or Personal System/2 or a PC compatible computer with (optional) 8087 type or compatible mathematical coprocessor
One of the following devices: colour graphics adapter (CGA), an enhanced graphics adapter (EGA), a video graphics array adapter (VGA), a Hercules graphics adapter, or a compatible adapter installed in the computer
A monochrome or colour monitor
At least 512K (kilobytes) of computer memory. With more memory you can work with larger data sets. ISDA can take advantage of up to 640K of memory in real mode (ISDA.EXE) and up to 64M in protected mode (ISDAP.EXE under Windows 9x or NT)
A diskette drive for loading the system
A hard disk drive with at least 2M memory. In small configurations ISDA makes heavy use of various swapping techniques between main memory and the hard disk, so that drive speed is at a premium
The ISDA package is continually being improved by inclusion of
additional functions
according to the responses from the users.
Software updates will be uploaded for downloading regularly.
The current version of the ISDA package can be downloaded from FTP server at the Tartu Observatory.
J. Pelt Irregularly Spaced Data Analysis User Manual Helsinki 1992 in PDF format.
Compressed by PKZIP.EXE package: ISDA.ZIP (1.1MB)
Compressed by PKZIP.EXE current version of the package (without help, hints etc., used mostly by myself, conatains large amount of new algorithms, some 32-bit routines need Win95-98 to run): ISDAM.ZIP (697KB)
Compressed by PKZIP.EXE manual in PostScript format ISDADOC.ZIP (3.75M)
Compressed by GZIP manual in PostScript format ISDADOC.PS.GZ (3.75M)
Compressed by ZIP sources of the current version ISDASOURCE.ZIP(1.8M)
GETV is not the first graphics system for Borland Pascal Turbo Vision (see for instance TVG121P.ZIP from garbo.uwasa.fi or TVGR70.ZIP from ftp.borland.com or GRAVIS7B.ZIP from ftp.simtel.net) and probably not the last one. But it differs. You must try it to get an idea.
Use of the GETV package is trivial. Compile your Turbo Vision application
with provided INTERF.TPU, DRIVERS.TPU and VIEWS.TPU and it will run
in graphics mode. Even more, if your graphics card is VESA BIOS
compatible or you have installed VESA Video BIOS extender
you can run your program (say myapp) with a parameter:
myapp -1
and it will work in 800x600 mode or
myapp -2
and it will work in 1024x768 mode. No more frills!
If your graphics card is still EGA, do not panic, GETV works even then.
Sorry, Hercules and CGA are not supported.
If you want to draw, please, be free to use any procedure or function from the standard GRAPH.TPU (the EGAVGA.BGI and VESA16.BGI are linked into DRIVERS.TPU). See the BGIDEMO.PAS file for hints. Just one point here - use always modal windows to display standard graphics. The GETV package is absolutely ignorant about your artistic capabilities.
But this is not all. There is an additional tiny graphics package included (see PAINT.PAS). Try to compile and run the GETVDEMO. ( Add unit path to C:\BP\EXAMPLES\DOS\TVDEMO to compile properly.) Open the leftmost menu (in the very upper-left corner of the screen) and activate multiple Lines windows. Drag them into different places on the screen and look what happens in shadows! Minute details of course, but worth to mention.
The interface parts of the DRIVERS.TPU and VIEWS.TPU units are exact copies of original BP 7.00. The meaning of all constants, variables, procedures and functions is the same, except the CheckSnow, which now indicates use of the EGA graphics (still in a way consistent with previous usage).
Some specific details of use you can read out from INTERF.PAS.
To test GETV I compiled with modified DRIVERS.TPU, VIEWS.TPU and with
INTERF.TPU most of the examples provided by the BP 7.0 package. Additionally
I checked the new units with some public domain and shareware sources
(mostly from garbo.uwasa.fi). Majority of the compilations worked without
any problems (ANSIVIEW.ZIP, COMBO103.ZIP, NED3.ZIP, NUMINP2.ZIP, OODB.ZIP,
POPUPLB.ZIP, PROMPTER.LZH, RESDMP11.ZIP, RHTOOL2.ZIP, TEXTVU10.ZIP,
TVDMX25.ZIP, TVMAGIC1.ZIP, TVMENU.ZIP, TVSPY.ZIP, TVTOYS04.ZIP and
the Turbo Vision sources from the \BP\EXAMPLES\* directories).
Nevertheless, I encountered some problems.
Some programs read the command line parameters as filenames without checking their format. If you run them with -1 or -2 option then warning messages are displayed, like
Can not open file -2
(see TVDEMO from BP7 suite or NEDEMO from NED3.ZIP). The correction is
trivial. You can change the form of the option parameters (in DRIVERS.PAS)
or check input parameters in your application.
Sometimes the Idle method for certain application contains heavy duty calls. As a result, mouse painting procedure in high resolution modes can be left without enough time. Mouse cursor will jump erratically and it will be nearly impossible to use it properly. To correct this you can use the trick from LINES.PAS. For instance the TVCHESS program will work properly, if you define TChessApp.Idle (in TVCHSAPP.PAS) as follows:
const
MaxSkip=500;
Skip:Integer=0;
procedure TChessApp.Idle;
begin
inherited Idle;
if MouseIntFlag=1 then begin
MouseIntFlag:=0;
Skip:=MaxSkip;
Exit;
end;
if Skip>0 then
Dec(Skip);
{ Think only then, when mouse is not moving }
if (Skip=0) and (ChessBoard <> nil) then
ChessBoard^.DoThink;
end;
The MaxSkip for other applications can be of course different. It can
also depend on the speed of your computer. You must play around with
couple of values to get the right one.
Sometimes it is useful to apply 'refresh brackets' PushRefresh and PopRefresh to speed up complex drawings. Here is the fragment from program TVLIFE.PAS (TVLIFE.ZIP from garbo.uwasa.fi) with modifications:
PROCEDURE TLifeInterior.Draw;
VAR
x,y : integer;
R : TRect;
ex,ey : integer;
B : array[0..2047] of word; { Buffer used to speed up Draw }
BEGIN
GetExtent(R);
ex := R.B.X+1;
ey := R.B.Y+1;
PushRefresh; { Switch out screen updates }
FOR y := 2 TO ey DO BEGIN
FOR x := 2 TO ex DO BEGIN
IF OldB^[x,y]=0 THEN BEGIN
MoveChar(B[x-2], #32, GetColor(2), 1);
END
ELSE BEGIN
MoveChar(B[x-2], #9, GetColor(2), 1);
END;
END;
WriteLine(0, y-2, Size.X, 1, B);
END;
PopRefresh; { Switch in screen updating }
END;
You must be of course careful to pair pushes and pop's. (The TVLIFE.PAS,
as uploaded, contains some bugs which reveal themselves only in
protected mode.)
For some configurations mouse driver and VESA BIOS extender do not work correctly togeteher. It is possible that mouse will report horizontal (graphics) coordinates in rounded way (0, 4, 8, 12, etc). This does not have effect in Turbo Vision, but can annoy you, when you use readoff values (from WhereG, see INTERF.PAS) for further processing. For VESA compatible hardware all works OK, so that this bug is not (sorry, probably is not) mine.
Download GETV12B.ZIP and check it out.
If you are serious about GETV, you need the sources (effectively
patches to the original Borland sources, due to the BP copyright). Probably
there is something you want to change, or add some new tricks. Or compile in
protected mode with enormous graphics buffer etc. Or you are simply curious
how this or that is done. Drop a
line and we'll discuss a deal.
The MONTEF.PAS is a short Object Pascal program used to generate phase distributions in a paper "Century scale persistence in longitude distribution: in the Sun and in silico" by Jaan Pelt, Ilkka Tuominen and John Brooke. It uses small subprogram MYFUNCS.PAS and can be translated by Borland Delphi (ver. 5 or higher for Windows) or Kylix (ver.2 or higher for Linux) compilers. The comments are very scarce, but program is quite simple and text in the paper can help to depicher it.

Three data sets in a format suitable for processing with ISDA software. They were used to produce figures in the paper.
Two data sets in a format suitable for processing with ISDA software. They were used as an input for statistical analysis.
Last Updated: 21 Mai 2009