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); } } }
static void setMagicWandMask(Product product, String expression) { String validMaskExpression; try { validMaskExpression = BandArithmetic.getValidMaskExpression(expression, product, null); } catch (ParseException e) { validMaskExpression = null; } if (validMaskExpression != null) { expression = "(" + validMaskExpression + ") && (" + expression + ")"; } final Mask magicWandMask = product.getMaskGroup().get(MAGIC_WAND_MASK_NAME); if (magicWandMask != null) { magicWandMask.getImageConfig().setValue("expression", expression); } else { product.addMask(MAGIC_WAND_MASK_NAME, expression, "Magic wand mask", Color.RED, 0.5); } }
mask.getImageConfig().setValue("color", Color.MAGENTA); mask.getImageConfig().setValue("transparency", 0.7); mask.getImageConfig().setValue("expression", expression); mask.setNoDataValue(0); mask.setNoDataValueUsed(true);
mask.getImageConfig().setValue("color", Color.RED); mask.getImageConfig().setValue("transparency", 0.7); mask.getImageConfig().setValue("expression", expression); mask.setNoDataValue(0); mask.setNoDataValueUsed(true);
@Override public void actionPerformed(ActionEvent e) { Mask selectedMask = getMaskForm().getSelectedMask(); final Mask mask = createNewMask(selectedMask.getImageType()); mask.setName("Copy_of_" + selectedMask.getName()); mask.setDescription(selectedMask.getDescription()); PropertyContainer selectedConfig = selectedMask.getImageConfig(); Property[] models = selectedConfig.getProperties(); for (Property model : models) { mask.getImageConfig().setValue(model.getDescriptor().getName(), model.getValue()); } getMaskForm().addMask(mask); }
mask.getImageConfig().setValue("color", Color.MAGENTA); mask.getImageConfig().setValue("transparency", 0.7); mask.getImageConfig().setValue("expression", expression); mask.setNoDataValue(0); mask.setNoDataValueUsed(true);
final PropertyContainer imageConfig = mask.getImageConfig(); final String propertyNameExpression = Mask.BandMathsType.PROPERTY_NAME_EXPRESSION; imageConfig.setValue(propertyNameExpression, code);
mask.getImageConfig().setValue("color", Color.BLUE); mask.getImageConfig().setValue("transparency", 0.7); mask.getImageConfig().setValue("expression", expression); mask.setNoDataValue(0); mask.setNoDataValueUsed(true);
mask.setDescription(model.getMinValue() + " <= " + externalName + " <= " + model.getMaxValue()); PropertyContainer imageConfig = mask.getImageConfig(); imageConfig.setValue(Mask.RangeType.PROPERTY_NAME_MINIMUM, model.getMinValue()); imageConfig.setValue(Mask.RangeType.PROPERTY_NAME_MAXIMUM, model.getMaxValue());
@Override public void areaSelected(PlotAreaSelectionTool.AreaType areaType, Shape shape) { Product product = pagePanel.getProduct(); final RasterDataNode raster = pagePanel.getRaster(); if (product == null || raster == null) { return; } String expression = createMaskExpression(areaType, shape); Mask mask = product.getMaskGroup().get(maskName); if (mask != null) { if (!mask.getRasterSize().equals(raster.getRasterSize())) { // if sizes are different we need to remove the mask first and add it as new one product.getMaskGroup().remove(mask); mask = addMask(product, raster, expression); } else { mask.getImageConfig().setValue("expression", expression); } } else { mask = addMask(product, raster, expression); } ProductNodeGroup<Mask> overlayMaskGroup = raster.getOverlayMaskGroup(); if (!overlayMaskGroup.contains(mask)) { overlayMaskGroup.add(mask); } }
Window window = getWindow(e); Mask selectedMask = getMaskForm().getSelectedMask(); PropertyContainer selectedMaskConfig = selectedMask.getImageConfig(); ImageType type = selectedMask.getImageType(); if (type == Mask.BandMathsType.INSTANCE) {