protected Mask createNewMask(Mask.ImageType type) { String maskName = getNewMaskName(getMaskForm().getProduct().getMaskGroup()); Dimension maskSize = getMaskForm().getTargetMaskSize(); Mask mask = new Mask(maskName, maskSize.width, maskSize.height, type); Preferences preferences = SnapApp.getDefault().getPreferences(); mask.setImageColor( StringUtils.parseColor(preferences.get("mask.color", StringUtils.formatColor(Mask.ImageType.DEFAULT_COLOR)))); mask.setImageTransparency(preferences.getDouble("mask.transparency", Mask.ImageType.DEFAULT_TRANSPARENCY)); return mask; }
final Mask mask = new Mask(targetRatioBand.getName() + MASK_NAME, targetRatioBand.getRasterWidth(), targetRatioBand.getRasterHeight(),
RATIO_BAND_NAME + " < " + String.valueOf(T_Ratio_High); final Mask mask = new Mask(FOREST_MASK_NAME, targetProduct.getSceneRasterWidth(), targetProduct.getSceneRasterHeight(),
final Mask mask = new Mask(targetBandMask.getName() + "_mask", targetProduct.getSceneRasterWidth(), targetProduct.getSceneRasterHeight(),
public static void addBitmasks(final Product product) { for (Band band : product.getBands()) { if (band.getName().contains(OILSPILLMASK_NAME)) { final String expression = band.getName() + " > 0"; // final BitmaskDef mask = new BitmaskDef(band.getName()+"_detection", // "Oil Spill Detection", expression, Color.RED, 0.5f); // product.addBitmaskDef(mask); final Mask mask = new Mask(band.getName() + "_detection", product.getSceneRasterWidth(), product.getSceneRasterHeight(), Mask.BandMathsType.INSTANCE); mask.setDescription("Oil Spill Detection"); mask.getImageConfig().setValue("color", Color.RED); mask.getImageConfig().setValue("transparency", 0.5); mask.getImageConfig().setValue("expression", expression); mask.setNoDataValue(0); mask.setNoDataValueUsed(true); product.getMaskGroup().add(mask); } } }
final Mask mask = new Mask(mstBand.getName() + "_flood", mstBand.getRasterWidth(), mstBand.getRasterHeight(),
@Test public void propertyChange_roi_mask_property_change() { PropertyContainer propertyContainer = new PropertyContainer(); propertyContainer.addProperty(Property.create("useRoiMask", Boolean.class)); propertyContainer.setValue("useRoiMask", false); propertyContainer.addProperty(Property.create("roiMask", Mask.class)); propertyContainer.setValue("roiMask", null); RefreshActionEnabler refreshActionEnabler = new RefreshActionEnabler(refreshButton, "useRoiMask", "roiMask"); propertyContainer.addPropertyChangeListener(refreshActionEnabler); propertyContainer.setValue("useRoiMask", true); assertFalse(refreshButton.isEnabled()); propertyContainer.setValue("roiMask", new Mask("name", 1, 1, Mask.BandMathsType.INSTANCE)); assertTrue(refreshButton.isEnabled()); refreshButton.setEnabled(false); propertyContainer.setValue("useRoiMask", false); assertTrue(refreshButton.isEnabled()); refreshButton.setEnabled(false); propertyContainer.setValue("useRoiMask", true); assertTrue(refreshButton.isEnabled()); refreshButton.setEnabled(false); propertyContainer.setValue("roiMask", null); assertTrue(refreshButton.isEnabled()); }
private void copyMasks(Product sourceProduct, Product targetProduct, String...bandNames) { if (isSentinelProduct(sourceProduct)) { final ProductNodeGroup<Mask> sourceMaskGroup = sourceProduct.getMaskGroup(); int nodeCount = sourceMaskGroup.getNodeCount(); for (int i = 0; i < nodeCount; i++) { final Mask mask = sourceMaskGroup.get(i); String maskName = mask.getName(); if (!targetProduct.getMaskGroup().contains(maskName) && StringHelper.endsWithIgnoreCase(maskName, bandNames)) { if (mask.getImageType().transferMask(mask, targetProduct) == null) { Mask targetMask = new Mask(maskName, mask.getRasterWidth(), mask.getRasterHeight(), mask.getImageType()); ProductUtils.copyRasterDataNodeProperties(mask, targetMask); targetMask.setSourceImage(mask.getSourceImage()); targetProduct.getMaskGroup().add(targetMask); } } } } else { final ProductNodeGroup<Mask> sourceMaskGroup = sourceProduct.getMaskGroup(); for (int i = 0; i < sourceMaskGroup.getNodeCount(); i++) { final Mask mask = sourceMaskGroup.get(i); if (!targetProduct.getMaskGroup().contains(mask.getName())) { mask.getImageType().transferMask(mask, targetProduct); } } } }