here is another small plugin for gimp: sigmoidal contrast.
But wait, there is already a contrast tool in gimp, why another one?
Well, the contrast tool in gimp is linear, this sigmoidal contrast is non-linear and this gives several benefits.
First when you increase contrast, dark grey values get darker but not black (at least as long as you don't get into the limitations of 8bit). The same with bright grey values, they get brighter but not white. Second when you decrease contrast, black remains black and white remains white. You can verify this easily by starting with a blank image and adding a linear gradient from black to white to it. Then just look at the behaviour of the gimp contrast and of this sigmoidal contrast.
There are several sigmoidal contrast implementations, but I couldn't find one which really treats the threshold right and allows negative values for the amount. If you know such an implementation, please let me know, I would like to compare it to my approach.
You can achieve the same behaviour with a s-shaped curve, however pulling sliders is somewhat simpler and may be used in scripts. Furthermore this plugin computes internally with 32 bit (input and output are limited to 8 bit), so I hope this will reduce artifacts.
Drop me a line if you like it.