andreww / MSAT

MATLAB Seismic Anisotropy Toolkit
http://www1.gly.bris.ac.uk/MSAT/
Other
42 stars 29 forks source link

Consistency of plotting data in MS_plot #35

Closed jwookey closed 8 years ago

jwookey commented 8 years ago

Behaviour relating to overlaying data ('sdata' and 'pdata' options) in MS_plot is inconsistent. Current behaviour is that data is plotted in the same location regardless of the sign of the data incidence angle. However, for a default (upper hemisphere) plot, if the incidence angle is negative (i.e., it is on the lower hemisphere), this is not the correct place to compare data to the tensor (it should be placed at +180 degrees azimuth, and for splitting data the polarisation transformed). Options to resolve: (a) suppress plotting (with a warning) of data in the wrong hemisphere (b) automatically transform data to be on the correct hemisphere (c) default to (a) while providing a optional flag for (b)

andreww commented 8 years ago

That's not ideal. I would go for (b) - unless there is ever a sensible reason to plot on the wrong hemisphere? Any chance you could cook up a commit to fix this?

jwookey commented 8 years ago

I can't think of a reason to plot on the wrong hemisphere, no. The only thing that makes me hesitate about (b) over (c) is the case where you have a dataset from a limited range of azimuths, but that spans the horizontal plane. That would end up getting plotted at two azimuths (on opposite sides of the sphere) which doesn't really represent the data properly. its fine if you have knowingly selected that, but if it was the default it might be confusing. I rather prefer the default to be that if you're plotting only the upper hemisphere you don't see datapoints on the lower. I'm happy to put a commit together to fix it.

jwookey commented 8 years ago

Another option might be to have a way of distinguishing transformed from untransformed data (like a different colour or something).

andreww commented 8 years ago

Ah - I think I see what you mean. Now I understand I think your proposed approach is probably sensible. So yes, something like:

sounds sensible. I'm not sure if we want to indicate the change if the location is flipped, but if we do this may need another flag. One use case we may want to support is the generation of an array of plots of different hemispheres (e.g. three upper hemisphere plots above three lower hemisphere plots. We could make this possible by extending the "plotmap" option to accept 'LVP', 'LAVS' and 'LAVSPOL' which turns on ilower inside the switch statement at line 398.

jwookey commented 8 years ago

On 10 Oct 2016, at 12:00, Andrew Walker notifications@github.com wrote:

Ah - I think I see what you mean. Now I understand I think your proposed approach is probably sensible. So yes, something like:

By default, only plot data with positive inclination on an upper hemisphere plot and only plot data with negative inclination on a lower hemisphere plot; warn if the user tries to plot on the wrong hemisphere. Allow data to be transformed onto the "wrong" hemisphere with a flag (getting this right with the 180 degree azimuth change). I'm not sure if we want to indicate the change if the location is flipped, but if we do this may need another flag.

I think that if there is a non-default flag required to flip locations, we don’t need to differentiate them. That’s something a user can add if it is really important to them. One use case we may want to support is the generation of an array of plots of different hemispheres (e.g. three upper hemisphere plots above three lower hemisphere plots. We could make this possible by extending the "plotmap" option to accept 'LVP', 'LAVS' and 'LAVSPOL' which turns on ilower inside the switch statement at line 398.

That’s a good idea. Then if data were included the positive inclination data would plot on the upper row, and the negative on the lower.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/andreww/MSAT/issues/35#issuecomment-252587641, or mute the thread https://github.com/notifications/unsubscribe-auth/AAv94ZkPUXIQxz-LwxeFffeTUy9C3c3yks5qyhq9gaJpZM4KREQO.

jwookey commented 8 years ago

I have a branch on my repository fixing the initial data plotting issue with solution (c) [ms_plot_datahandling]. I did not end up implementing the 'L' plotmap options yet because that turned out to require a bit more code refactoring and raised a few potential complications (e.g., interactions between the 'L_' options and the 'lower' flag). Since the same can be achieved with two plots at the moment, I put this on the back burner.

andreww commented 8 years ago

Thanks - I'll pull this in.