Sparky Bugs

Last updated August 31, 2004.

We are keeping track of Sparky bugs. These are not likely to be fixed soon. See the Sparky development status page for details. Please email questions to

Bugs in Sparky 3.111

Moved reflection aliased peaks have wrong PPM.
Not all matching strips are found.

Bug Details

Moved reflection aliased peaks have wrong PPM (Eiso AB)
Moving a peak which has been reflection aliased gives it a PPM position that is not the expected reflected PPM value. This happens because Sparky does not remember the type of aliasing (folding or reflection). It only remembers the alias shift in ppm. When the peak is moved the alias shift stays the same (correct for folding, but incorrect for reflection).

Date: Tue, 31 Aug 2004 22:46:17 +0200
From: Eiso AB

I think there's a bug in sparky 3.106-3.110 that
occurs when peaks that where aliased by reflecting
are moved after the aliasing. the change in ppm value
is added with the wrong sign.

to verify do the following:

1. create two peaks on a line parallel to the aliasing axis.
2. reflect both peaks downfield
3  move both peaks to the same position
4  they wil have different ppm-values although they are on the
    exact same spot.

this creates problems of course when people refine peak
positions after aliasing, not an entirely unlikely scenario

kind regards, Eiso

Not all matching strips are found (Tom Goddard)
The "Add strips matching peaks" command (sm) does not always find all the matching strips when more than one peak is being matched. This bug happens because the Sparky code which groups the peak markers into strips is incorrect. The code sometimes fails to find a peak marker that is in a strip.

The code places all marker positions in a grid of bins and then finds strips by collecting sufficiently close peaks in neighboring bins. But instead of looking at all neighbor bins it only looks at bins offset by 0 or 1 (but not -1) along each axis. This misses close peaks in neighboring bins when one bin is offset by say (-1,1) relative to another. Such a pair of peaks will be treated as two separate strips.