mzmine / old-mzmine3

Old development repository (outdated)
GNU General Public License v2.0
13 stars 17 forks source link

Request: Overlay style chromatogram plots #85

Open photocyte opened 8 years ago

photocyte commented 8 years ago

Hi there,

Xcalibur Qual Browser has a plotting feature where multiple chromatograms can be overlayed: example.pdf

This would be a nice feature to have in MZmine3, as it seems to be a common way to present multiple chromatogram traces in the literature. Xcalibur seems to have it implemented by using two parameters: skew & elevation. Skew translates each chromatogram trace in the X axis whereas elevation translates the chromatogram trace in the Y axis. Each chromatogram is translated by the skew/elevation values, multiplied by the position of the trace - 1 (e.g. 1st trace is at the origin, 2nd trace is translated by 1 skew & 1 elevation, 3rd trace is translated by 2 skew & 2 elevation). The background bounding box seems to be lines drawn from the origin / limits of the axes to limits defined by the skew / elevation of the last trace.

If the graphing framework planned for use in MZmine3 can draw datapoints outside of the bounds of the X and Y axis (as this plot would require), and has a mechanism for directly drawing lines given start and end coordinates, it should be possible to implement such a plot without much trouble. Would be happy to try and implement as MZmine3 progresses & the GUI becomes fleshed out.

tomas-pluskal commented 8 years ago

I think it is doable. Try downloading the orson charts library (https://s3-eu-west-1.amazonaws.com/orson-charts-public/orsoncharts-1.5.zip), run the demo (orsoncharts-1.5-fx-demo.jar), and check the XYZLineChart3DDemo1 demo. It is fully interactive, zoomable and rotatable by mouse. We can probably use this library to generate nice 3D-overlay chromatograms.