List of User Requested Features

Member addColumn (const std::string &label, boost::python::numeric::array array)
@@ This method only works if contained DataSource is NumArrayTuple. It could accept more like saveColumnFromNumArray does.

Member addDataRep (const std::string &type, const DataSource *ntuple, const std::vector< std::string > &bindings)
@@@ Also need to have removeDataRep in interface.

Member addFunction (PlotterBase *plotter, const std::string &name, FunctionRep *frep, DataRep *data_rep)
Check that previously set fixed flags and/or limits get propagated to new linear sum function.

Class AxisRepBase

Let user draw border in different color.

Class Bins1DHist

Should use BinnerAxis::getCoordinate() and have asymmetric errors.

Class BoxTextRep

Be able to edit the text.

Member calcAlphaBeta (std::vector< std::vector< double > > &alpha, std::vector< double > &beta)
Find out what these really are and document them. They might be the gradients.

Class CanvasSettings

Plot matrix should have a preview.

Class CanvasView

@@ Scale the view so that full page appears in Window.

@@ Coordinates should show when mouse is over plot. Should be no need for right mouse down.

Need remove empty pages menu item.

Class CanvasWindow

Have a editable DataSource table view.

@ Open documents read only. This could be the default when the file Open menu item is used.

A clear all button on the tool bar.

Class ColumnPointRep

@@ Need version which draws histogram on its side.

Class CompositePlotter

When 2 and only 2 DataRep objects are stacked, use right Y axis to show scale.

Allow DataRep to be hidden.

Member createDisplay (const std::string &type, const DataSource &nt, const std::vector< std::string > &bindings)
Expose to Python the names of the available displays.

Class Cut2DPlotter

@@@ Need better way to show 2D cut when the 2D color plot is full of points with no empty squares. Perhaps draw rectangle on top of plot.

@@@ Put 1 pt wide rectangle around selected region so it can be seen even if background is full.

Member cutNew ()
Be able to add new cut to all DataRep objects contained by the plotter.

Class CutPlotter

Be able to display number of points passing cut.

Class DataRep

Be able to take difference between two data reps and plot it.

@@@ Be able to do Lego plots.

Class DataRepXML

Check that histogram with equal bin contents can be archived.

Check that minimum entries per bin can be archived.

Member doubleArrayAt (unsigned int row)
Add the conversion feature to other xxxArrayAt member functions.

Member ellipsoidNTuple (PlotterBase *plotter, FunctionRep *, NTuple *nt, int n, double &xmin, double &xmax, double &ymin, double &ymax)

@@ Make sure they are being calculated correctly by hold one parameter constant and refitting.

Member execute ()
Support averaging with a weight.

Member export_DataSource ()
Add getShape(int) function to allow user to get shape of a column.

Member export_NTupleController ()
Provide interface to DataSourceController.

Class FigureEditor

Move any attached text displays along with moved plotter display.

@@@ For plots using pixmap, do not draw plot when resizing until mouse is release.

Class FilledColumnPointRep
Only using solid pattern for the fill for now. Qt will allow us to use other patterns.

Member fillRange (unsigned int column, Range &) const
use if ( x != x) to test for nan

Member FunctionBase (const FunctionBase &)
Remove this copy constructor, it was only tempoary to try to fix cloning functions written in Python with SIP.

Class FunctionFactory

Be able to add new functions from a shared library.

Member getColumnAsArray (const std::string &variable)
Should let PyDataSource create the numarray so this class doesn't depend on numarray; as was done for FitsNTuple.

Member getRMS (Axes::Type axis)
Can do better than use only the projected values in some derived classes.

Namespace hippodraw::Python

On Mac OS X, get lots of warning messages about use of long double, must have a gcc flag to fix that.

Write m4 macro to allow user to fix path to Python includes and lib.

Consider using ax_boost_python.m4 from autoconf macro archive.

Consider other Python finding m4 macros from the autoconf macro archive.

Class Hist1DProjImp

@@@ Want to be able to plot E**2 dN/dE as will as dN/dE. Need to decide if this is part of a histogram class or part of adding columns to the DataSource.

Member initialParameters (const FunctionHelper *helper)
Need better estimate of initial parameters.

Class Inspector

It would be helpful if the Canvas settings pop-up had an "Apply" button that retiles the canvas, but which does not close the window (or save the configuration). You could just have the "Retile" button serve this purpose by not having it close the window.

For views that have two histograms overlaid, it would be nice to have a button that returned the KS test statistic and probability that the two data sets are drawn from the same underlying distribution. Not sure what to do if more than two histograms are overlaid or if one of the datareps is not a histogram. Probably best to disable this button.

In control-left clicking to select a datarep within a given view, it would be useful to have an easier way of returning to the state where no single datarep is selected. Often I have many datareps plotted in a single view, and I want a quick way of restoring the view rather than cycling through all of the reps, possibly overshooting in my haste.

@@ In zoom/pan mode, still should show high and low of range.

@@ Set to likelihood fitter when statistics of bins go below some threshold.

@ Display objective value to the functions tabbed panel.

Should be able to change title/label text with TeX.

In status tabbed panel, when no plot is selected should still be able to add text box.

On the Stats panel, the radio button entry "Chi-squared statistics of function" should read "Chi-square per dof =" with the value displayed as it is for "Number of entries", "Average x-value", and "Average y-value". Same goes for "Standard deviation of x-value".

On Stats tabbed panel, it would be nice when selecting text in box that the keyboard focus would go to box and a return with trigger the insertion.

@@@ Sliders controlling cuts that are plotted on logarithmic x-axes should respond on a logarithmic scale instead of a linear one.

Hoyle would like one x but 16 channels in Y displayed on one XY plot, but not do it via 16 DataRep objects.

In the stats summary panel, the description should match the type used by the factory.

Member instance ()
Should always build this class and throw exception if user tries to use it when code was not built with FITS support.

Member integrate (double lower_limit, double upper_limit) const

Override this method in derived classes when calculation of integral can be done analyically.

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Check if this is the best algorithm. Its looks different from the one found in http://osl.iu.edu/%7Etveldhui/papers/techniques/

Member isImageConvertable () const
Allow axis to be on log scale, but this will require generating the X and Y coordinates for the image.

Class LMFitter

Make the fit() method a member function of the DataRep instead of the function in the Python interface.

Member m_double_data
Support data types other than double.

Member m_null_value
Allow user to set and get this value.

Member m_save_parms
@@ Use a std::stack for this.

Member m_vector_double_data
Could this be a vector instead of pointer.

Class Map1Projector
Optionally, an additional column can be mapped to Y error bars.

Class MinuitMigrad

Add support for using Minos to get asymmetric errors.

Class NTuple

@ Besides interval count, need interval timer.

Class NTupleXML

Need to save shape of NTuple in order to implement saving St2DHistogram.

Member operator() (double) const
Why is exception being thrown for logParabolic.py and are we handling the fix correctly

Class PlotTable

Display TextRep in more friendly way.

Class PlotterBase

Make title of plot optional and not the default. Use the space for plotting.

Member positionCanvas (CanvasWindow *window)
@ Should use QDesktop to get usuable screen size on the Mac

Class Profile2D

@ Implement a static version and expose to Python via SIP. Don't forget to implement Bins2DProfile.setContents.

Class ProfileHist

@ Implement static version. Don't forget to implement Bins1DProfile::setContents().

Member PyApp ()
There's a better way to wait for application to be ready. Saw it in Qt related documentation.

Class PyCanvas

Be able to retrieve, from Python, information on active displays on the canvas such as a display identifier, axis labels, etc ...

@@ Add interface to re-tile.

@@ Get a Display by its plotter id.

Member PyDataSource (const std::string &dataSource)
@@ Have a constructor that takes DataSource and figures out what type it is.

Class PyFunctionRep

@@ Return covariance matrix.

Class QtDisplay

@@@ Need to add methods that PyDataRep implements so user doesn't need to know about DataRep objects.

@@@ Implement constructor that takes as first argument a DataSource/DataArray and if binding is one element, create Histogram, if two, create ColorPlot.

Need to check each method that does a lock to see if an exception could be thrown. If yes, and no try/catch block, then application will hang.

Class QtFileDialog

@@@ Make sure second use of this dialog, starts in previously used directory. Make sure previously selected file type is used on second use.

@@ All file types should be shown and information dialog raised if application was not built to support it.

Member readAsciiNTuple (NTuple *ntuple, const std::string &filename)

If the label for a column is very long, then it is probably an error in the file format. One should raise a dialog if attempting to read from the GUI, or throw an exception if from Python to asked the user to continue or not.

If line of labels contains no tabs at all, then should probably assume that any white space separates the labels.

If bad format detected, try to say what was bad.

Member RootBranch (TBranch *)
@@@ Should make this branch unuseable instead of throwing exception if the data type is not supported.

Class RootBranch

@@ support ROOT Char_t and others.

Class RootController

@@ Be able to chain ROOT files.

Read TH1 and TH2 histograms in ROOT file and convert to corresponding static histograms.

Member s_version
@ Windows only, Need to get the version number into the Windows installer file.

Member saveAllAs (const std::string &filename)
Raise error dialog if saving doesn't work.

Member saveAs (const std::string &filename) const
Raise error dialog if saving to file was not successful.

Member saveParameters (PlotterBase *plotter)
@@ Should save parameters in a stack, so that more than one set can be saved and restored.

Member saveSelectedImages ()
@@ Add SVG format to types available.

Member setColorMap (const std::string &name)
Expose the BinToColorFactory to Python so user can see the choice of names.

Member setTransform (const std::string &name)
Expose to Python the list of available transforms.

Class TextDataRep

@ The TextDataRep view should always be locked to it's target.

Class TupleCut

@@@ Needs form of TupleCut, or some other class, allowing one to use only certain set of rows, independent of the contents.

Member updateCutEnableButton ()
This method seems to get called more than once when adding a cut. Should try to fix that.

Member valueAt (unsigned int row, const std::string &variable)
Should let PyDataSource create the numarray so this class doesn't depend on numarray; as was done for FitsNTuple.

Class ViewBase

Also being able to capture these values for input to the range widgets (e.g., set Z High to _this_ bin's value, set Z low to _that_ bin's value) would be nice.

Class WindowController

@@@ Add a flag, set-able from Python, that would disallow the application to be exited via closing the last CanvasWindow.

@@ no need to terminate the application on last window close on the mac OS.


Generated for HippoDraw Class Library by doxygen