我正在使用 CSI DM3 阅读器 ( http://code.google.com/p/cornell-spectrum-imager/wiki/Home ) 来阅读我的 .dm3 文件。我想为此添加拖放功能,所以我更改了文件 HandleExtraFileTypes.java ( http://rsbweb.nih.gov/ij/plugins/download/HandleExtraFileTypes.java ) 并在第 101 行更改了它的 .dm3 关联- 103 起
if (name.endsWith(".dm3") && buf[0]==0 && buf[1]==0 && buf[2]==0 && buf[3]==3) {
return tryPlugIn("DM3_Reader", path);
}
至
if (name.endsWith(".dm3") && buf[0]==0 && buf[1]==0 && buf[2]==0 && buf[3]==3) {
return tryPlugIn("CSI_DM3_Reader", path);
}
这会在 CSI DM3 阅读器和标准 DM3 阅读器中打开文件,我希望它只在 CSI DM3 阅读器中打开。如何禁止 ImageJ 打开其常规 DM3 阅读器?
注意:tryPlugIn 对象如下
/**
* Attempts to open the specified path with the given plugin. If the
* plugin extends the ImagePlus class (e.g., BioRad_Reader), set
* extendsImagePlus to true, otherwise (e.g., LSM_Reader) set it to false.
*
* @return A reference to the plugin, if it was successful.
*/
private Object tryPlugIn(String className, String path) {
Object o = IJ.runPlugIn(className, path);
if (o instanceof ImagePlus) {
// plugin extends ImagePlus class
ImagePlus imp = (ImagePlus)o;
if (imp.getWidth()==0)
o = null; // invalid image
else
width = IMAGE_OPENED; // success
} else {
// plugin does not extend ImagePlus; assume success
width = IMAGE_OPENED;
}
return o;
}