package uk.ac.diamond.scisoft.analysis.processing.operations.reflectivityandsxrd;
import org.dawnsci.boofcv.BoofCVImageTrackerServiceCreator;
import org.eclipse.dawnsci.analysis.api.image.IImageTracker;
import org.eclipse.dawnsci.analysis.api.image.IImageTracker.TrackerType;
import org.eclipse.january.dataset.IDataset;
import uk.ac.diamond.scisoft.analysis.io.LoaderFactory;
public class TrackingWork {
private IImageTracker tracker;
private String dataname = "image-01";
private IDataset data;
private IDataset data2;
public void before() throws Exception {
// if (tracker == null)
// tracker = BoofCVImageTrackerServiceCreator.createImageTrackerService();
// data = LoaderFactory.getData("resources/particles01.jpg", null).getDataset(dataname);
// data2 = LoaderFactory.getData("resources/particles02.jpg", null).getDataset(dataname);
// }
if (tracker == null)
tracker = BoofCVImageTrackerServiceCreator.createImageTrackerService();
data = LoaderFactory.getData("/dls/i07/data/2015/si10262-1/pilatus3/p3Image1024107.tif", null).getDataset(dataname);
data2 = LoaderFactory.getData("/dls/i07/data/2015/si10262-1/pilatus3/p3Image1024108.tif", null).getDataset(dataname);
}
public void testImageTrackerBasic() throws Exception {
// double[] originalLocation = new double[] { 446, 73, 491, 73, 446, 104, 491, 104 };
// // initialize tracker
// tracker.initialize(data, originalLocation, TrackerType.TLD);
// // run tracker against second image
// double[] location = tracker.track(data2);
// double[] locationExpected = new double[] { 435.9968422696961, 72.9932498803572, 481.00780718826627,
// 72.9932498803572, 481.00780718826627, 104.00080349092775, 435.9968422696961, 104.00080349092775 };
double[] originalLocation = new double[] { 350, 70, 400, 70, 350, 120, 400, 120 };
// initialize tracker
tracker.initialize(data, originalLocation, TrackerType.TLD);
// run tracker against second image
double[] location = tracker.track(data2);
System.out.println("location: " + location[0] + location[1] + location[2] + location[3] + location[4] + location[5] + location[6] + location[7]);
double[] locationExpected = new double[] { 435.9968422696961, 72.9932498803572, 481.00780718826627,
72.9932498803572, 481.00780718826627, 104.00080349092775, 435.9968422696961, 104.00080349092775 };
}
}