[kepler-dev] small patch for R actor

Dan Higgins higgins at nceas.ucsb.edu
Thu May 31 13:31:38 PDT 2007


Hi Dan,
    It looks like you will need to explicitly set the filename unless we 
change the Java code to create an R variable with the Java created file 
name. Of course you could add an input port with the file name string 
desired. And an output port with the file name.

Dan Higgins

Daniel Crawl wrote:
>
> 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')";              
>


-- 
*******************************************************************
Dan Higgins                                  higgins at nceas.ucsb.edu
http://www.nceas.ucsb.edu/    Ph: 805-893-5127
National Center for Ecological Analysis and Synthesis (NCEAS) Marine Science Building - Room 3405
Santa Barbara, CA 93195
*******************************************************************



More information about the Kepler-dev mailing list