private long physicalBytes(V val) { if (val != null) { return val.physicalBytes(); } return 0; }
private static void writeRasterInRaw(PlanarImage image, FileRawImage[] newSeries, ImageCV[] builImgs, ViewParameter params, int dstHeight, int imgIndex) throws IOException { ImageCV img = ImageProcessor.getRotatedImage(image.toMat(), params.rotateCvType); if (newSeries != null && img != null && img.height() == newSeries.length) { if (newSeries[0] == null) { File dir = new File(MPR_CACHE_DIR, params.seriesUID); dir.mkdirs(); for (int i = 0; i < newSeries.length; i++) { newSeries[i] = new FileRawImage(new File(dir, "mpr_" + (i + 1) + ".wcv"));//$NON-NLS-1$ //$NON-NLS-2$ builImgs[i] = new ImageCV(dstHeight, img.width(), img.type()); } } for (int j = 0; j < newSeries.length; j++) { img.row(j).copyTo(builImgs[j].row(imgIndex - 1)); } } }
public static BufferedImage toBufferedImage(PlanarImage matrix) { if (matrix == null) { return null; } return toBufferedImage(matrix.toMat()); }
public static ImageCV toImageCV(Mat source) { if (source instanceof ImageCV) { return (ImageCV) source; } ImageCV dstImg = new ImageCV(); source.assignTo(dstImg); return dstImg; }
public double pixel2mLUT(Number pixelValue, TagReadable tagable, boolean pixelPadding) { if (pixelValue != null) { LookupTableCV lookup = getModalityLookup(tagable, pixelPadding); if (lookup != null) { int val = pixelValue.intValue(); if (val >= lookup.getOffset() && val < lookup.getOffset() + lookup.getNumEntries()) { return lookup.lookup(0, val); } } return pixelValue.doubleValue(); } return 0; }
protected static String[] getChannelNames(PlanarImage image) { if (image != null) { int channels = CvType.channels(image.type()); if (channels == 3) { return new String[] { Messages.getString("DefaultView2d.blue"), Messages.getString("DefaultView2d.green"), Messages.getString("DefaultView2d.red") }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } else if (channels == 1) { return new String[] { Messages.getString("DefaultView2d.gray") }; //$NON-NLS-1$ } } return null; }
@Override public PlanarImage getImageFragment(MediaElement media) throws Exception { if (media != null && media.getFile() != null) { return imageCV.read(); } return null; }
public LookupTableCV(byte[][] data, int offset) { this.offsets = new int[data.length]; this.initOffsets(offset); this.data = new DataBufferByte(Objects.requireNonNull(data), data[0].length); }
@Override public URI getUri() { return imageCV.getFile().toURI(); }
public boolean hasSameSize(ImageElement image) { if (image != null) { PlanarImage img = getImage(); PlanarImage img2 = image.getImage(); if (img != null && img2 != null && getRescaleWidth(img.width()) == image.getRescaleWidth(img2.width()) && getRescaleHeight(img.height()) == image.getRescaleHeight(img2.height())) { return true; } } return false; }
public boolean write(PlanarImage mat) { return ImageProcessor.writeImage(mat.toMat(), file); } }
public static ImageCV rescaleToByte(Mat source, double alpha, double beta) { ImageCV dstImg = new ImageCV(); Objects.requireNonNull(source).convertTo(dstImg, CvType.CV_8U, alpha, beta); return dstImg; }
public LookupTableCV(byte[][] data) { this.offsets = new int[data.length]; this.initOffsets(0); this.data = new DataBufferByte(Objects.requireNonNull(data), data[0].length); }
public static ImageCV combineTwoImages(Mat source, Mat imgOverlay, int transparency) { Mat srcImg = Objects.requireNonNull(source); Mat src2Img = Objects.requireNonNull(imgOverlay); ImageCV dstImg = new ImageCV(); Core.addWeighted(srcImg, 1.0, src2Img, transparency, 0.0, dstImg); return dstImg; }