| RoiReader |

    package ij.plugin;
    import ij.*;
    import ij.io.*;
    import ij.gui.*;
    import ij.process.*;
    import java.io.*;
    import java.awt.*;

    /** Opens ImageJ, NIH Image and Scion Image for windows ROI outlines.
        RoiDecoder.java has a description of the file format.
        @see ij.io.RoiDecoder
        @see ij.plugin.filter.RoiWriter
    */
    public class RoiReader implements PlugIn {
        final int polygon=0, rect=1, oval=2, line=3,freeLine=4, segLine=5, noRoi=6,freehand=7, traced=8;

        public void run(String arg) {
            OpenDialog od = new OpenDialog("Open ROI...", arg);
            String dir = od.getDirectory();
            String name = od.getFileName();
            if (name==null)
                return;
            try {
                openRoi(dir, name);
            } catch (IOException e) {
                String msg = e.getMessage();
                if (msg==null || msg.equals(""))
                    msg = ""+e;
                IJ.error("ROI Reader", msg);
            }
        }

        public void openRoi(String dir, String name) throws IOException {
            String path = dir+name;
            RoiDecoder rd = new RoiDecoder(path);
            Roi roi = rd.getRoi();
            Rectangle r = roi.getBounds();
            ImagePlus img = WindowManager.getCurrentImage();
            if (img==null || img.getWidth()<(r.x+r.width) || img.getHeight()<(r.y+r.height)) {
                ImageProcessor ip =  new ByteProcessor(r.x+r.width+10, r.y+r.height+10);
                ip.setColor(Color.white);
                ip.fill();
                img = new ImagePlus(name, ip);
                img.show();
            }
            img.setRoi(roi);
        }

    }

| RoiReader |