Hi Justin,

This should be possible.  With discussions with Troels about 3D
isosurface plotting, I created the space_mapping_refactor relax
branch:

    http://thread.gmane.org/gmane.science.nmr.relax.scm/24009
    http://svn.gna.org/viewcvs/relax/branches/space_mapping_refactor/

However in the trunk I am slowly and progressively working on the
lib.plotting package:

    http://article.gmane.org/gmane.science.nmr.relax.devel/7444

The lib.plotting package will be a software independent API for all
plotting/graphing/space mapping in relax.  I am slowly migrating
backend code into this API, and will probably abandon the
space_mapping_refactor branch as we can make the changes in the trunk
as small incremental changes which do not break the test suite.  For
example the lib.software.grace module and lib.software.opendx package
can be shifted into lib.plotting.  Then this software specific code
abstracted by the API, so that other software specific code can be
written for the API to output a different file type.  This would allow
the 2D XY-data plots to then have backends for Grace, matplotlib,
veusz, plain text output, or any other software.

For veusz, we could create the lib.plotting.veusz module for handling
this.  For each plot type, we create a new API function in
lib.plotting.api.  Then the veusz backend can be added to the API
function.  The back end function should be easy enough for any
developer to handle, it'll accept the data from relax and then it just
needs to be basic pseudo-script which opens the file and writes out
formatted content.  In any case, it would require a relax developer or
interested power-user to write such formatting code.  Justin, would
you be interested in playing around with such a veusz backend?  I just
created an empty module to play with:

    http://article.gmane.org/gmane.science.nmr.relax.scm/25343

For the auto-analyses, we could have a setting whereby the user
chooses the plotting software (or a list of plotting software).  Or we
could output to all formats.  I'm not sure what would be best.  In the
GUI, this could be part of the analysis GUI element, or it could be
analysis independent and set via a settings dialog in the Tools menu.

For the user functions, we should create a new 'plotting' user
function class.  Then there could be new user functions such as
plotting.write_veusz and plottting.view_veusz for handing the Veusz
graphing.  The other plotting user function could migrate into this
class at a later date as:

    grace.view -> plotting.view_grace
    grace.write -> plotting.write_2D_grace
    dx.execute -> plotting.execute_dx
    dx.map -> plotting.map_dx (or plotting.write_iso3D_dx)

Or a different design would be to have one user function per graph
type for graph creation:

    plotting.write_2D
    plotting.write_iso3D
    plotting.write_2D_fitted_curves

And one user function per software to view the results:

    plotting.view_dx
    plotting.view_grace
    plotting.view_matplotlib
    plotting.view_veusz

Or these could be combined into a single plotting.view or
plotting.execute user function.  The Veusz lib.plotting backend
support is should be a relatively easy task.  Justin, would you be
interested in seeing if you can create stand-alone Python scripts for
outputting in veusz format?  This could then be easily modified to
become modules of the lib.plotting package.

Regards,

Edward




On 6 February 2015 at 11:32, Justin <no-reply.invalid-addr...@gna.org> wrote:
> URL:
>   <http://gna.org/support/?3211>
>
>                  Summary: Provide veusz plots as an alternative to grace
>                  Project: relax
>             Submitted by: jlec
>             Submitted on: Fri 06 Feb 2015 10:32:01 AM UTC
>                 Category: Feature request
>                 Priority: 5 - Normal
>                 Severity: 3 - Normal
>                   Status: None
>              Assigned to: None
>         Originator Email:
>              Open/Closed: Open
>          Discussion Lock: Any
>         Operating System: None
>
>     _______________________________________________________
>
> Details:
>
> I could list all the disadvatages of grace,  but instead let me point to a
> great FOSS project written in python to do great plotting.
>
> http://home.gna.org/veusz/
>
> Upstream is very friendly and cooperative.
>
> I think it would be a great addition do be able to directly write all the
> standard grace plots as veusz plots.
>
>
>
>
>     _______________________________________________________
>
> Reply to this item at:
>
>   <http://gna.org/support/?3211>
>
> _______________________________________________
>   Message sent via/by Gna!
>   http://gna.org/
>
>
> _______________________________________________
> relax (http://www.nmr-relax.com)
>
> This is the relax-devel mailing list
> relax-devel@gna.org
>
> To unsubscribe from this list, get a password
> reminder, or change your subscription options,
> visit the list information page at
> https://mail.gna.org/listinfo/relax-devel

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
relax-devel@gna.org

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to