/** * SFUtil: Utilities for StarField class in conjunction with ImageJ * Glen Cowan, RHUL Physics Department * November, 2004 */ import ij.*; import ij.process.*; import ij.gui.*; import ij.io.*; import ij.plugin.filter.*; import java.awt.*; import java.awt.image.*; import java.util.*; import java.math.*; import java.io.*; public class SFUtil { static StarField starFieldFromImageJ (ImagePlus imp, ImageProcessor ip){ // Factory method to return StarField object from ImageJ's current image // double gain = IJ.getNumber("enter gain (e-/ADU)", 2.3); double gain = SFPar.getGain(); int ny = ip.getHeight(); int nx = ip.getWidth(); // IJ.write("nx = " + nx); // IJ.write("ny = " + ny); // IJ.write("total pixels = " + nx*ny); // get pixel info and pack into image array Pixel[][] pixelArray = new Pixel[nx][ny]; int[] pixelList = new int[nx*ny]; // needed for median for (int j=0; j= 0 ) { clusterPixels[k] = (255 & 0xff) << 16; // red } } } // then superimpose the barycentre and local peaks int numClus = sf.getClusterVec().size(); for (int i=0; i= 0 ) { clusterPixels[k] = (255 & 0xff) << 16; // red } } } // then show the stars IP.setColor(java.awt.Color.blue); int numStars = ap.getStarVec().size(); for (int i=0; i early exit IJ.write("Reading data files listed in " + name); String dir = od.getDirectory(); Opener o = new Opener(); int count = 0; String separator = System.getProperty("file.separator"); try { BufferedReader r = new BufferedReader(new FileReader(dir+name)); while (true) { String path = r.readLine(); if (path==null) { break; } else { if (path.indexOf(separator)<0) { path = dir + path; } // put file name into fileVec fileVec.addElement(path); count++; IJ.write(count+" + " +path); } } // end while(true) r.close(); } catch (IOException e) { IJ.error(""+e); return fileVec; } return fileVec; } } // end of class SFUtil