User Tools

Site Tools


plugin:inputoutput:lsmtoolbox:load_zeiss
/* 
 * A simple example that shows how to use the JAVA reflection API to load
 * a ZEISS LSM image using LSM_Toolbox at ImageJ runtime. Questions and
 * comments to patrick@image-archive.org
 */
 
import ij.ImagePlus;
import ij.plugin.PlugIn;
 
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
 
public class test_OpenLSM implements PlugIn{
    void test_openLSM(){
    }
    public void testRun() {
        Class readerClass;
        try {
            // we want to execute public ImagePlus[] open(String directory,
            // String filename,boolean showInfoFrames, boolean verbose, boolean
            // thumb)
            readerClass = Class.forName("org.imagearchive.lsm.toolbox.Reader");
            Object readerObject = readerClass.newInstance();
            Class[] parameters = { String.class, String.class, Boolean.TYPE,
                    Boolean.TYPE, Boolean.TYPE };
            Method openMethod = readerClass.getMethod("open", parameters);
            Object[] arguments = {"directory_of_lsm_file", "my_lsmfile.lsm",
                    false, false, false };
            ImagePlus[] imps = (ImagePlus[]) openMethod.invoke(readerObject,
                    arguments);
 
            // the following lines are just to show that it opened the files
            // correctly. Remove this in your plugin and do whatever you wish
            // with the ImagePlus[]
            if (imps != null) {
                for (int i = 0; i < imps.length; i++) {
                    imps[i].show();
                    imps[i].updateAndDraw();
                }
            }
 
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
    }
 
    @Override
    public void run(String arg) {
        testRun();
    }
}
plugin/inputoutput/lsmtoolbox/load_zeiss.txt ยท Last modified: 2019/04/12 13:13 (external edit)