[ome-users] Bioformats Exporter plugin in Fiji

Jan Eglinger jan.eglinger at gmail.com
Mon Mar 24 18:29:09 GMT 2014


Dear all,

On 24.03.2014, 5:08 PM, Roger Leigh wrote:
> I can reproduce your problem with the macro recorder.  I have created a
> ticket for this:  http://trac.openmicroscopy.org.uk/ome/ticket/12123

This should be fixed with the pull request:
https://github.com/openmicroscopy/bioformats/pull/986

>
> Regarding the options, I'm afraid I'll have to defer to others more
> expert here regarding the imagej plugin internals.  I can't see anything
> but the "save" option being actively set by the plugin, so I'm unsure
> from where the "write" and "compression" parts of the string are set
> (and even the use of "save" is odd given that "outfile" is preferred,
> though this is likely a separate point).  It's unclear to me the
> distinction between Macro.getOptions and plugin.arg, and why only "save"
> is obtained from Macro.getOptions, and not the other options.  Can
> anyone clarify this?
>

The macro parameters are recorded via three instances of 
ij.gui.GenericDialog shown in sequence. The second dialog is the one to 
blame, because all three parameters started with "write" followed by a 
space. The macro recorder records boolean options by taking the checkbox 
label up to the first space as a parameter, so all three options result 
in a simple "write". Adding underscores changes will make the macro code 
look like:

run("Bio-Formats Exporter", "save=/tmp/4.ome.tif write_each_z_section 
write_each_timepoint write_each_channel compression=Uncompressed");

(The "compression" parameter is recorded by the third dialog.)

Hope that helps,

Jan
(Fiji user, and contributor once in a while : )


> If invoked via Java, the split values are set in the run() method, and
> the initial values are set from splitZ/splitC/splitT values obtained
> from Macro.getValue().  So long as you can arrange for the values to be
> set prior to invocation, this should work.  However, if this is where
> the bug lies, it will still fail of course.  While you can call the java
> interface directly, the only entry point is the run() method, which
> still limits the argument passing to the LociExporter arg string when
> you construct it.
>
>
> Kind regards,
> Roger
>
> On 23/03/14 14:08, Maier, Lorenz wrote:
>> Dear all,
>>
>> am I right that the only way to use the splitting options of the
>> Bioformats Expporter with the ImageJ macro interface is checking the
>> Macro.getOptions()?
>>
>> Would there be any way to circumvent this, maybe by calling the Java
>> interface of the Exporter directly?
> [...]
>>
>> is there a reason why the bioformats exporter checks only at plugin.arg
>> if splitting C,Z,T is requested? In my eyes, the code should also check
>> Macro.getOptions(). The code in question starts at
>>
>> bioformats/components/bio-formats-plugins/src/loci/plugins/out/Exporter.java,
>> line 127.
>>
>> The selection of these options is neither recorded correctly using the
>> macro recorder. It inserts “write write write” in the options and shows
>> a warning that this is probably wrong.
>




More information about the ome-users mailing list