本文整理汇总了Java中org.eclipse.january.dataset.IDataset.getSliceView方法的典型用法代码示例。如果您正苦于以下问题:Java IDataset.getSliceView方法的具体用法?Java IDataset.getSliceView怎么用?Java IDataset.getSliceView使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.january.dataset.IDataset
的用法示例。
在下文中一共展示了IDataset.getSliceView方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getDataset
import org.eclipse.january.dataset.IDataset; //导入方法依赖的package包/类
@Override
public IDataset getDataset(IMonitor mon, SliceND slice) throws IOException {
if (loader == null) {
return null;
}
IDataHolder holder;
try {
holder = loader.loadFile(mon);
} catch (ScanFileHolderException e) {
throw new IOException("Could not load file", e);
}
if (holder.getFilePath() == null) {
holder.setFilePath(fileName);
}
if (holder.getLoaderClass() == null) {
holder.setLoaderClass(loader.getClass());
}
IDataset data = name == null ? holder.getDataset(0) : holder.getDataset(name);
return data.getSliceView(slice);
}
示例2: startReorderThread
import org.eclipse.january.dataset.IDataset; //导入方法依赖的package包/类
protected void startReorderThread() {
updating = true;
final Thread doReordering = new Thread(new Runnable() {
public void run() {
while(updating) {
final IImageTrace trace = (IImageTrace)system.getTrace("Image");
final IDataset image = trace.getData();
final IDataset first = image.getSliceView(new Slice(0,image.getShape()[0]-10), null);
final IDataset last = image.getSliceView(new Slice(-10,null));
final IDataset nimage = DatasetUtils.concatenate(new IDataset[]{last, first}, 0);
nimage.setName("Image"); // Important
// Convenience method for thread safe update
// Could use IITmageTrace.setData(...) but must be from UI thread ie needing a syncExec
// or similar, therefore use convenience method
system.updatePlot2D(nimage, trace.getAxes(), new NullProgressMonitor());
try {
Thread.sleep(100);// Not too fast...
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
doReordering.setDaemon(true);
doReordering.start();
}
示例3: updateRegionView
import org.eclipse.january.dataset.IDataset; //导入方法依赖的package包/类
private void updateRegionView(IRegion region, IROI roi) {
if (roi instanceof RectangularROI) {
RectangularROI box = (RectangularROI)roi;
IImageTrace trace = getImageTrace();
IDataset data = trace.getData();
int start0 = (int)Math.round(box.getPoint()[0]);
int end0 = (int)Math.round(box.getEndPoint()[0]);
int start1 = (int)Math.round(box.getPoint()[1]);
int end1 = (int)Math.round(box.getEndPoint()[1]);
IDataset slice = data.getSliceView(new Slice(start1, end1), new Slice(start0, end0));
BooleanDataset mask = DatasetFactory.zeros(BooleanDataset.class, slice.getShape());
mask.fill(true);
// Iterate everything - yes this is slowish now. In Java8 we are
// implementing parallel streams with Datasets but this was not available
// when these examples were being written.
PositionIterator it = new PositionIterator(mask.getShape());
while(it.hasNext()) {
int[] pos = it.getPos();
if (slice.getInt(pos)<=-1) mask.set(false, pos);
}
slice.setName(region.getName());
mask.setName("Mask");
IImageTrace sliceTrace = (IImageTrace)regionView.updatePlot2D(slice, null, new NullProgressMonitor());
sliceTrace.setMask(mask);
}
}