[kepler-dev] small patch for R actor
Daniel Crawl
crawl at sdsc.edu
Thu May 31 13:14:50 PDT 2007
Hi Dan,
Adding the bitmap() function to the beginning of the R script sounds
like the best solution since it
does not require modifying the actor. If I add bitmap(), would I have to
explicity set the output
filename or can I still use the one generated by the actor?
Thanks,
--dan
Dan Higgins wrote:
> Hi Daniel,
>
> Your suggestion brings up some interesting questions.
>
> First of all, I had not really looked at the R 'bitmap()' function
> before. As I understand the documentation, its use requires
> 'ghostscript' on the executing machine. If so, that means that it
> would not work on many machines. (I doubt if most of our Windows users
> have it installed.) (Actually I should try it on Windows to find out!)
>
> I don't think I agree with adding a 'png without X11' choice for
> the graphicsFormat because many of our users will have no idea just
> what X11 is! (On Windows, the png option does not use X11.)
>
> Can you use the pdf option on your server? That seems a better
> choice to me because the output can be resized better than bitmaps.
>
> Also, it should be noted that a user of the RExpression actor can
> always change the display device inside the script and avoid having to
> change the actor's Java code; i.e. simply add the bitmap() function to
> the beginning of the user script to override the default set in the
> actors parameters.
>
> So I guess I would rather not increase the complexity of the R
> actor itself unless we can do it in a way that works across all
> platforms and does not require additional software installation.
>
>
>
>
> Dan Higgins
> NCEAS
>
>
>
> Daniel Crawl wrote:
>>
>> Hi Dan,
>>
>> Efrat and I are using the R actor in workflows being executed via a
>> web server.
>> Since X11 is not available, png() doesn't work. Attached is a small
>> change I made
>> to the R actor to allow png output via bitmap(). It adds a third
>> choice to the
>> graphicsFormat parameter: "png without X11". Instead maybe it would
>> be cleaner
>> to make a new boolean parameter useX11?
>>
>> If you want, I'll add the parameter and commit the changes...
>>
>> Thanks,
>>
>> --dan
>>
>>
>> ------------------------------------------------------------------------
>>
>> Index: RExpression.java
>> ===================================================================
>> RCS file: /cvs/kepler/src/org/ecoinformatics/seek/R/RExpression.java,v
>> retrieving revision 1.47
>> diff -r1.47 RExpression.java
>> 206a207
>>
>>> graphicsFormat.addChoice("png without X11");
>>>
>> 317c318,322
>> < graphicsOutputFile = getUniqueFileName(graphicsFormatString);
>> ---
>>
>>> if(graphicsFormatString.equals("png without X11")) {
>>> graphicsOutputFile = getUniqueFileName("png");
>>> } else {
>>> graphicsOutputFile =
>>> getUniqueFileName(graphicsFormatString);
>>> }
>>>
>> 327c332
>> < } else {
>> ---
>>
>>> } else if (graphicsFormatString.equals("png")) {
>>>
>> 328a334,335
>>
>>> } else if (graphicsFormatString.equals("png without X11")) {
>>> graphicsDevice = "bitmap(file = '"+ graphicsOutputFile +
>>> "'"+",width = "+nxd+", height = "+nyd+", pointsize = 12, bg =
>>> 'white')";
More information about the Kepler-dev
mailing list