SIPS version 2.1 is the first minor release from the introduction
of SIPS v2.0, adding many of new functions. It follows
two service releases SIPS v2.0.1 and SIPS v2.0.2, which main purpose was fixing of some
problems, caused by very significant architecture changes in SIPS v2,
and which added only a few new features.
SIPS was always available as a set of executable files and
DLLs, which could be placed (copied) to any directory (including
for instance USB Flash Drive etc.). SIPS did not require
installation, particular registry entries etc. This brought
significant freedom on the one side (e.g. numerous versions could
be used side by side), but at the same time this approach required
all necessary libraries to be already installed on the particular
computer. Beginning with version 2, SIPS is built using Microsoft
Visual C++ 2008 compiler, so it requires particular runtime
C-libraries are already installed to operate properly. These
libraries are already installed on many systems (typically Windows
7) and if they are missing (e.g. on older Windows XP), it is
possible to downloaded them from Microsoft web site for free and
install them (exact package name is Microsoft Visual C++ 2008
SP1 Redistributable Package (x86)). Still numerous users were
left helpless when SIPS refused to launch due to missing runtime
This is why we decided to provide also proper installation
package for SIPS. Running of this package checks whether all
required libraries are already installed and installs them if they
are missing. Then the installation package installs SIPS
Still, the original SIPS distribution consisting of a bunch of
executable files, DLLs and configuration files is still present on
the USB Flash Drive shipped with cameras as well as it is
downloadable from the web site.
Some new features are not specific to any particular
tool or algorithm and affect whole SIPS.
SIPS accepts command line arguments and interprets them
as FIST file names. These files are then opened into SIPS upon
launch. It is now possible to associate FITS files with SIPS.exe
within Windows Explorer. Launching FIST file (e.g. by
double-clicking it in Windows Explorer) then runs SIPS and lets
it to open the particular file or files.
Numerous tools were enhanced with the possibility to play
audio alarms (these alarms are described in details later).
Because it is possible to play any sound file (e.g. whole MP3
songs beside simple WAV notifications), global Mute button was
added to SIPS toolbar.
Clicking this button stops any sounds played.
Pressing of the <Esc> key also mutes all
Parallelized execution of critical algorithms
SIPS v2 moved all time consuming tasks (e.g. downloading
images from camera, but also opening number of large images,
calibration and transforming of image sets etc.) into
background threads, so the user interface was no longer
blocked by these tasks and become more responsible. Subsequent
releases then added parallel execution of critical algorithms
on multi-core processors. This is especially important when
single-core processors disappeared from the market and even
the slowest and cheapest PC can process at last two processes
at once. If the software is capable to runt only single task
at once, half of resources stay unused. Modern CPUs can run
four, six or even eight tasks simultaneously, so proper
division of work among multiple cores can speed up all tasks
up to 8 times (this information will be outdated as early as
more cores appear in common CPUs).
SIPS is designed to split the time consuming work among all
available cores, there is no certain limit of number of cores.
For instance if the PC is equipped with 2 CPUs, each capable
to run 8 threads in parallel, SIPS splits hard work to 16
execution threads to use all CPU power modern PCs offer.
The following algorithms are
Calculation image statistics (mean values, extremes,
standard deviation etc.) and converting 16 or 32 bit
FITS files into stretched 8 bit bitmaps, which can be
displayed on computer screen. This speeds up both opening of
files as well as image processing performed when new image
is downloaded from the camera.
Software binning (downscaling) and resampling
Searching of stars within images. Star search
algorithm is executed in many situations—e.g. when multiple images are aligned before
they are added, but also when performing astrometry
reduction and when each guiding image is downloaded and
either the brightest star is searched of a whole star
pattern is matched to reference frame. This algorithm is
generally quite demanding and parallelization brought
significant time savings.
Sub-pixel shift and arbitrary angle rotation, used
when matching multiple images before they are blinked or
Image calibration including dark frame subtraction
and flat-field correction. Let us note that these algorithms
in SIPS preserve saturated pixels to indicate subsequent
processing algorithms that particular pixels cannot be used
for astrometry or photometry measurements.
So how fast is SIPS on various computers? We assembled a
test consisting of identifying of all stars on a single
3072 × 3072 pixels FITS file.
There are almost 25,000 stars on the image,
detected with predefined settings (requires S/N ratio etc.).
Although this test is well parallelized (runs on all available
cores), it is not typical GPU-like test, simply performing
some operation with every pixel of the image (e.g. like
Gaussian blur etc.). After all, stars are not placed in
regular pattern and have different FWHM etc. This test also
pretty well utilizes all CPU resources, like caches (FIST file
has ~18 MB of data), majority of
calculations are performed with integer numbers but also
floating point algorithms are present (e.g. calculation of
pixels RMS within each aperture) are performed.
|Intel Atom D525 (HT off)
|Intel Atom D525
|Intel Core 2 Duo T6600
|AMD Athlon X2 5200+
|Intel Pentium E6300
|Intel Core i5 2410M
|Intel Core 2 Quad Q6600
|Intel Core i5 2500
|Intel Core i5 3570K
|Intel Core i7 3770 (HT off)
|Intel Core i7 3770
Standard SIPS test time on various CPUs (lower is
Result is clear—modern four-core
Intel Core i5 and i7 processors offer highest computational
power and modest power consumption. Speed advantage of Core i7
relative to i5, caused by ability to run two threads on single
core (so-called HyperThreading technology), is only about
CCD Camera tool
Majority of new features were added to CCD Camera control
SIPS v2.1 was enhanced to support preflash feature of
Gx cameras. If the particular camera model supports
preflash, two new controls are enabled: Preflash
[s] and Num. clear. Preflash is intended
to suppress so- called Residual Bulk Image (RBI) effect.
RBI is thoroughly described elsewhere, we have not enough
space to describe it in detail here. Simply put, majority
of CCDs keep some charge after light exposure in CCD
substrate. Such charge only slowly disappears (the cooler
the CCD, the longer the process takes). The result is a
star pattern, exposed for long time, could be seen even on
dark frames acquired immediately after light images. While
it is enough to wait for a certain time before dark frames
are exposed (and to adjust observing program so no dark
frames are taken immediately after light or flat field
exposures), RBI in some CCD detectors disappears so
slowly, that the problem must be handled different way.
Instead of waiting for detector empty state, CCD
is saturated by near-IR light using LEDs inside the CCD
chamber. This leaves CCD in full state, which
unifies conditions before any exposure regardless if dark
or light frame was exposed.
This is not without trade off, preflashed CCD
exhibits higher dark current compared to empty detector.
Keeping the Preflash [s] box on zero eliminates
preflash feature at all. If the value is non-zero, NIR
LEDs switched on for several seconds saturate the CCD and
then it is necessary to perform CCD clear operation
several times before real exposure starts. Second
parameter Num. clear allows definition of
number of clear operations performed before real exposure.
Optimal values depend on particular CCD detector, its
temperature etc. As general rule, preflashing for a few
seconds is enough to completely saturate the CCD and
clearing several times unifies the conditions. But every
user can experiment with these parameters or even not to
use preflashing at all, depending on the observing
Preflash and subsequent clear is performed
before every single exposure (bias, dark, light, flat).
Time to perform several seconds preflash and the several
clears significantly prolongs the time necessary to take
every exposure. This influences especially short
exposures, where such overhead can exceed normal exposure
and download times.
New check-box Download if interrupted was
added. While the Save if interrupted option was
included into previous versions, image was always
downloaded even if exposure was aborted. New check box
allows the user to determine if the interrupted exposure
is immediately abandoned or at last downloaded to the PC.
Only if it is downloaded, it is possible to choose whether
it should be saved or not.
The last new feature is the ability to define sound,
which is to be played when the exposure finishes and image
is downloaded into PC. The sound can be any WAV, WMA or
MP3 sound file. Sound files are stored individually for
each exposure type (light, dark, etc.).
Exposure series can also notify its finish with sound.
Just check the Play sound on series end control
and define the sound file.
Frame tab allows much faster definition of binning.
First it is much simpler to return to full resolution
(binning 1 × 1) by clicking
the command button, e.g. after finding of the desired
field of view, which is often performed at maximal binning
to achieve faster download.
Also newly introduced common XY-binning
count box controls binning in both axes. Please note the
common binning count box allows definition of binning only
up to lower of bot horizontal and vertical limits. If for
instance camera offers 1..4 horizontal binning and 1..16
vertical binning, common binning can be set only in the
The Focus Frame command button sets
the sub-frame dimensions to 192 × 192 pixels, which is the size of
image displayed in Focus tab. But Focusing was enhanced to
enable scrolling of bigger sub-frame, so it is no longer
necessary to read such small sub frame. This feature is
described in the next section.
Focusing tab underwent most significant changes. First,
the sub-frame size for focusing is no longer limited to
192 × 192 pixels. Focus
area image pane displays scroll-bars if the subframe
read from camera is larger (or possibly the whole frame
could be read). However, the Brightest pixel
profile pane shows history of profiles only from the
visible portion of the downloaded images.
The Brightest pixel profile pane height was
halved and the remaining space occupies new pane
Brightest pixel history. This pane shows
previous exposures history of the brightest pixel value,
which allows choosing of the optimal focus position.
The most important enhancement is the ability
to automatically focus star images. Automatic focusing
is based on the assumption that the best focused image
of a star creates the highest pixel value(s). So the
task of the autofocus procedure is to find a focuser
position in which the brightest star displayed in the
Focus area pane achieves highest pixel
values. Autofocus is performed in three steps:
SIPS tries to find the slope of the
maximal pixel values on subsequent images acquired with
different focuser positions. This provides the
information about direction the focuser must be moved to
Autofocus must start from
a focuser position, which ensures a suitable star image
is acquired and the S/N ratio is high enough. This means
the brightest pixel value must be well above the
background noise level. The current algorithm is not
intended for finding proper focus starting from totally
defocused images, on which only uniform noise is
Then the software performs series of exposures in
different focuser positions until distinct peak of
maximal pixel values can be clearly detected. SIPS tries
to fit a quadratic function y = a.x2 + b.x + c to
the set brightest pixel history values and if the
function maximum lies within the center third of all
measured focuser positions, the best focusing point is
Both steps 1 and 2 moves
focuser for defined number of steps (Focuser steps
per move parameter) between exposures. Using small
movement does not automatically lead to best focus. In
fact the single move should be relatively large to cause
significant changes in the image. Brightest pixel value
is affected by seeing, telescope mount tracking
irregularities, by star image position relative CCD
pixels etc. These irregularities affect maximal pixel
value around proper focus much more than the value of
images out of focus. It is desirable that the sampled
values span wide range of maximal pixel values, from
clearly defocused to properly focused.
The focuser is then moved to the point of maximum
value of the fitted quadratic function. Let us note that
while the distance of focuser positions among individual
exposures used for focusing is defined by the
Focuser steps per move parameter, the best
focus position is always calculated to the maximal
precision allowed by the particular motorized focuser
Guiding setup tab was redesigned to utilize somewhat
larger CCD Camera tool window. Tool buttons, used in
previous SIPS versions due to limited space for proper
buttons, were removed and standard command buttons with
text labels are used instead.
New parameters Min. pulse [s] were
introduced in addition to already existing Max. pulse
[s]. These parameters allow definition of a minimal
pulse used to guide the mount. If the detected difference
leads to a correction pulse shorter than the value of
minimal pulse, correction action is entirely skipped and
new guiding exposure is started.
Important addition is the ability to play sound in the
case of guiding failure. It is possible to define a number
of subsequent failures not to cause alarm too early, e.g.
when a single exposure fails.
Alarm caused by guiding failure is a very good
indicator of weather conditions, because the most frequent
cause of guiding failure is missing guide star due to
GPS control lost the ability to propagate location
coordinates to New FITS Header tool. In fact, it is still
possible to use coordinates from GPS in New FITS header, only
the direction was swapped. Instead to GPS tool propagating
coordinates to other tools, other tools has the capability to
update coordinates from GPS. This change was motivated
increasing number of tools, which need coordinates (e.g.
Telescope control tool), so the responsibility was moved to
Windows Vista and Window 7 introduced somewhat
complicated system of user rights (privileges). Because
outdated and poorly designed software often requires rights
like write access to Program Files directory, many users of
Windows systems worked at Administrator privileges to allow
such software to run. But this almost eliminated the security
protection of the whole system—Administrators could update any portion of the
system, so computer viruses running within the context of
users with administrative privileges could compromise all
operating system files. This is why Microsoft introduced a
concept of super-administrator. Even administrators are
somewhat restricted and only processes, explicitly launched
with super-administrator rights, can modify operating system
files, protected portions of Registry database
Among the blocked functions is the capability to
alter system time. So if SIPS has to update system time
according to very precise GPS time, it must be run at
super-administrator privileges (right-click the SIPS icon and
choose Run as administrator item in the pop-up menu).
Otherwise the system time remains unchanged despite the
checked Synchronize PC time with GPS time
New FITS Header tool
Command button Get location from GPS reads
coordinates and elevation from GPS and fills the LONG-OBS,
LAT-OBS and ELEV-OBS keyword values. This function is of
course enabled only if GPS driver is installed and particular
GPS receiver is online and provides location data.
Telescope tool significantly reduced the amount of
information read from the telescope controller. Previous SIPS
versions read also Azimuth/Elevation and time in addition to
equatorial coordinates (R.A. and Dec.) from the telescope
controller. But telescope controllers often utilize low
performance processors and calculation of azimuth and
elevation could consume quite a long time. On the other hand
computational power of modern PCs is awesome and calculation
of azimuth and altitude every few seconds takes almost
unmeasurable small amount of CPU time. This is why SIPS took
over these algorithms and computes telescope azimuth and
Time used for calculation is taken from PC system time. If
GPS tool synchronizes this time, it is very precise.
Another information necessary for calculation is telescope
geographic coordinates. Telescope control tool newly contains
Longitude and Latitude controls allowing
the user to define these coordinates. Also Get location
from GPS button is present. This function is of course
enabled only if GPS driver is installed and particular GPS
receiver is online and provides location data.
Another new feature of the Telescope tool is the ability to
play sound alarms on two conditions. One condition is related
to azimuth, another to altitude. It is possible to play alarm
when a telescope coordinate is lower or greater than a
predefined limit value. These alarms can be used e.g. to swap
German Equatorial Mount if azimuth passes local meridian or to
terminate the observation if the altitude of observed objects
is lower that defined minimal altitude etc.
The last new feature of Telescope tool is simple catalog
function. A new file 'catalog.ini' is shipped
with SIPS v2.1. This is simple text file, so every user can
modify it or create his/her own catalog files. SIPS always
reads file named 'catalog.ini', if any changes are
made or multiple catalog files are created, it is always
necessary to rename the desired file to
'catalog.ini' and place it into SIPS directory
(from which 'sips.exe' is launched).
Function of catalog file is simple. Every time the user
chooses particular catalog entry, coordinates of the entry are
copied to New R.A. and New Dec.
controls. It is then possible to GOTO or Synchronize the
telescope with new coordinates.
Structure of 'catalog.ini' file is as follows.
Individual sections are used as individual catalogs, displayed
in the first combo box. Section names are in square brackets
in the file. Following lines represent individual catalog
entries and they are displayed in the second combo-box.
1 5 34 30 22 01 0 Tau 8.4m Pl (Crab Nb)
2 21 33 30 -00 49 0 Aqr 6.5m Gb
3 13 42 12 28 23 0 CVn 6.4m Gb
1 0 7 18 27 43 0 Peg Gx 12.9m
6 0 9 30 33 19 0 And Gx 13m
14 0 8 48 15 49 0 Peg Gx 12.1m
The example above defines two catalogs named M and
NGC with three items in each. Each item line contains
following fields separated by space:
Item name, displayed in the second combo-box. As a
coincidence, item names are ordinal numbers in both Messier
and NGC catalogs, but the first item may by any identifier.
Just keep on mind that space delimits items, so the name
cannot contain space. If e.g. [GCVS] catalog is created and
the desired item name is MR Aur, it is necessary to
use e.g. MR_Aur or similar name without spaces.
Next three items are R.A. coordinate hours, minutes
and seconds. The last number (seconds) can contain decimal
places if more precision is desired.
Following three items are Dec. coordinate degrees,
minutes and seconds. Again the last number (seconds) can
contain decimal places.
Rest of the line is considered as comment and is
displayed in a line below catalog combo boxes. Spaces no
longer delimits any items and are properly displayed.
Focuser controller tool windows newly displays focuser
state (Moving or Steady). Also if the focuser controller
provides temperature measurement, the temperature is displayed
in the tool window.
SIPS Dome control tool was also slightly altered. If the
dome controller electronic provides information about dome
temperature and/or cloud cover, particular information is
displayed in the tool window. Another functionality like sound
alarms when cloud cover passes certain limit will be
implemented in the following versions.
The following problems were fixed:
Serial line (COM port) driver, used by numerous hardware
drivers (telescope, GPS, ...), was updated to work properly with
some USB/RS-232C adapters, especially on 64-bit Windows
Serial line driver automatically inserts
'\\.\' prefix before the COM port name if it is not
possible to open the desired port. Again this function is
implemented to work properly with various USB/RS-232C adapters,
which drivers do not handle standard COM file name
NMEA GPS driver handles number of satellites correctly.
Previous version of the driver could display wrong number of
satellites in view.
GPS, telescope, dome and focuser driver could remain
active even if the user choose different driver.
NexStar telescope driver did not properly restore
tracking mode when GOTO operation was aborted.
FITS images were not displayed correctly on multi-monitor
systems, where the secondary monitor was placed on the left side
of the primary monitor (secondary monitor x-coordinate was
negative relative to primary monitor).
Portion of image displayed in the Focus tab of the CCD
Camera tool did not display content of the selected sub-frame
properly (it used inverted y coordinate of the
New FITS Header and Transform New Image tools updated
state only upon selection of another tool window or tool window
closing. This means changes did not appear in continuously read
images until the tool was deselected.
SIPS controls were reworked to render correctly when a
ClearType technology is used to display texts on computer
screen. ClearType smooths letter shapes by blending of letter
edges with background color. But programs must not draw the same
text more than once without also clearing its
SIPS v2.1 is a freeware and can be downloaded from the download section of this WWW site.