I'm late to the conversation, but this topic has been in my head for a couple months now. I'd like to chime in.
First, I'd like to add to the list of people who experience whole stack crashes when fitsviewer has a problem. It seems to happen for arbitrary use of features in fitsviewer, seemingly anything that goes beyond zooming, panning and using some of the information tabs (e.g., FITS header). The behavior is that suddenly I notice that nothing kstars-related will respond to clicks (kstars, fitsviewer, EKOS, INDI windows), then, after some time has passed, all windows disappear. I use a RPi for running INDI server and an Intel desktop machine with 32 GB RAM for kstars etc. so I don't think it's the RPi's limited memory causing this. (I've seen it happen when I just start up kstars to view FITS files and don't connect to the RPi)
Anyway, aside from an obvious suggestion to fix that problem, here are some other suggested improvements:
Make fitsviewer stand-alone. I'd like to use Linux to do quick views of FITS files, and fitsviewer would be handy for that independent of kstars. This also might make the system more robust, since if fitsviewer were its own process (is it now?) it would be less likely to bring the whole system down when it crashed.
I agree that manipulating the histogram and such gives the feeling that there's a permanent change in the FITS file. I'm glad there isn't. OTOH, it would be great if it were a lot easier to scale intensity. The best example of this is from Nebulosity: just type in the lower and upper values defining black and white and use a linear mapping of values between those limits. Neb does this extremely fast - no waiting for processing to happen. To go beyond that, the scaling that CCDStack does, providing a black point and a white point, plus DDP and gamma also happens very fast, but in my opinion is a "nice to have" (others may think differently). At the very least, it should be easier to understand what the black and white points are in the existing fitsviewer. Not clear at all if that information is present. An "autoscale" button would provide the default scaling; I like the idea that Guido had about saving a scaling (item 2 in his list).