Start up Assign (no project). Drag hsqc onto it. The contour level for the display is around 32k (determined via debugging). Double click the hsqc on the sidebar to bring up the editor. The contour level there is 10k. Peak picking seems to use the latter. So when you cmd+shift+drag you get a tonne extra of peaks than what you would expect looking at the contours on the screen.
The spectrum editor is using spectrum.positiveContourBase. The drawing is using spectrumView.positiveContourBase. They are not in sync. If we cannot guarantee they will be in sync (and I think we used to) then possibly we should (at least for now) use spectrum.positiveContourBase for the drawing, or alternatively get the peak picking to use spectrumView.positiveContourBase.
This one is a bit of a question.
The model allows for changing the contour display selectively for a single display, and I have tried to code so that this works correctly. But, near as I know, there is no place in the code where we deliberately change the contouring for a single window only. I suspect that the discrepancy ultimately stems from the half-heartedness of our implementation.
The simplest solution would be to disable the possibility to have separate contouring for a single window, and use the Spectrum contouring everywhere. Alternatively I think we should consider where we what separate contouring, how we want ity implemented etc., and then go through the code and make sure it does wat we have decided it should do.
Sync the spectrum and spectrumView postiiveContourBase (etc.).