public PlanarImage computeMaxCollectionOpImage() { return CvUtil.maxStack(sources); } }
public PlanarImage computeMeanCollectionOpImage() { return CvUtil.meanStack(sources); } }
public PlanarImage computeMinCollectionOpImage() { return CvUtil.minStack(sources); }
if (imgSize > heapSize / 3) { if (imgSize > heapFreeSize) { CvUtil.runGarbageCollectorAndWait(50); CvUtil.runGarbageCollectorAndWait(50);
@Override public void process() throws Exception { PlanarImage source = (PlanarImage) params.get(Param.INPUT_IMG); PlanarImage result = source; KernelData kernel = (KernelData) params.get(P_KERNEL_DATA); if (kernel != null && !kernel.equals(KernelData.NONE)) { result = CvUtil.filter(source.toMat(), kernel); } params.put(Param.OUTPUT_IMG, result); }
public synchronized PlanarImage getImage(OpManager manager, boolean findMinMax) { try { return getCacheImage(startImageLoading(), manager, findMinMax); } catch (OutOfMemoryError e1) { LOGGER.warn("Out of MemoryError: {}", this, e1); //$NON-NLS-1$ mCache.expungeStaleEntries(); CvUtil.runGarbageCollectorAndWait(100); return getCacheImage(startImageLoading(), manager, findMinMax); } }
private void loadArrays(DicomImageElement img, DataExplorerModel model) { // Do not load an image if another process already loading it if (preloading && !img.isLoading()) { Boolean cache = (Boolean) img.getTagValue(TagW.ImageCache); if (cache == null || !cache) { long start = System.currentTimeMillis(); try { img.getImage(); } catch (OutOfMemoryError e) { LOGGER.error("Out of memory when loading image: {}", img, e); //$NON-NLS-1$ CvUtil.runGarbageCollectorAndWait(50); return; } long stop = System.currentTimeMillis(); LOGGER.debug("Reading time: {} ms of image: {}", stop - start, img); //$NON-NLS-1$ if (model != null) { model.firePropertyChange(new ObservableEvent(ObservableEvent.BasicAction.ADD, model, null, new SeriesEvent(SeriesEvent.Action.PRELOADING, series, img))); } } } }
CvUtil.runGarbageCollectorAndWait(100);