epix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ePiX-devel] Re: [ePiX-users] Histograms, II


From: epix-devel
Subject: [ePiX-devel] Re: [ePiX-users] Histograms, II
Date: Thu, 4 Jan 2007 12:17:36 -0500 (EST)

On Thu, 4 Jan 2007, Marcus D. Hanwell wrote:

On Thursday 04 January 2007 02:44, Andrew D. Hwang wrote:
Some preliminary (and not yet extensively tested) data plotting code is
available here:

   http://mathcs.holycross.edu/~ahwang/epix/dataplot.tar.bz2

To use it, unpack it into the epix source directory and rebuild. (Maybe
install in ${HOME}/tmp for now. :)

As Marcus notes, I neglected to include the modified "functions.*" files, which contain log_lin, et. al. Oops... :) For testing purposes, they're not difficult to add to a source file, fortunately.

Smoothed histogram plotting is still unimplemented, though I hope to fill in the code today or tomorrow.

The old data plotting code emits "deprecated" warnings if its called. I'll
probably add a couple of global (non-class) plot/histogram functions, but
the call syntax will differ slightly from the old versions (the number of
columns in the data file won't be required).

For now the old histogram syntax works. I may leave it in place even in 1.1, though I strongly encourage the new (more convenient? :) syntax, and would like to remove the old data plotting code as soon as is polite.

I have already thought of some cool features I would love to add to the data_file class such as data sorting - sorting the data clipping. I don't know if that would be best in the plot or the data functions - i.e. only plot in this x range or that y range. Right now points are plotted outside of the graph bounds here - they could just use the x_min/max values and not plot points outside of this range in the plot functions.

Those are great ideas, and should be easy to implement.

Perhaps they'd be best in data_file: The "column" function could accept range arguments, returning a vector<double> containing only data in the specified range, for example, and "plot" could accept an argument (perhaps a bool-valued function of position, or a special class) to cull points that don't satisfy the criterion.


Then there is the possibility of extending the plots to plots with error bars in a third column. If it is helpful and I have begun to understand your style I could probably write some of this stuff and supply diffs/new functions?

I had some musings along these lines. For example, "plot" could accept a user-specified void function of three double arguments; this function would consist of error bar drawing code. Another idea is to create a
stand-alone error_bar class.

If there are standard symbols/notation for error bars, so much the better. Also, since one might want to plot data and error bars in different colors it would be best to print data and error bars separately; lots of color changes in a single figure tend to overflow LaTeX's stacks.


A data manipulation method would be useful too - that may not be useful more widely but we often want to add to or multiply x/y data (adjusting background to match, offsetting plots to display more than one data set on the same x scale).

This is partially implemented, though in hindsight I put it in the wrong place. Currently, data_bins::read accepts an optional function argument that transforms the data. It's more sensible to put this capability into data_file; then data_bins remains a "pure measuring/recording device", and modified data can be written more easily to a disk file.

Coding help would be great; the savannah page is here:

  http://savannah.nongnu.org/projects/epix#options

If memory serves, one creates a savannah account, then requests membership in a group.

I've cc-ed this to the devel list, since it's likely the thread will increasingly involve implementation and interface design discussion. Will post there when I've uploaded the latest changes to CVS.

Finally, I'll revert Version 1.1rc1 to 1.0.22 (which will remain available
but officially unreleased), and will continue minor version numbering at 1.0.23. Given the recent changes to data plotting alone, there are going to be moderate changes before it's fair to release a major version.

If anyone has feature requests of any kind, this is a good time to send them along! :)

--Andy

Andrew D. Hwang                 address@hidden
Department of Math and CS       http://mathcs.holycross.edu/~ahwang
College of the Holy Cross       (508) 793-2458 (Office: 320 Swords)
Worcester, MA, 01610-2395       (508) 793-3530 (fax)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]