new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {e0}); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(transform.transform(Double.POSITIVE_INFINITY), 0.0, 0.0); new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {e0}); Assert.assertEquals(0.0, transform1.transform(0), 0); Assert.assertEquals(transform1.transform(Double.POSITIVE_INFINITY), 0.0, 0.0); Assert.assertFalse(transform.equals(transform1)); Assert.assertFalse(transform1.equals(transform)); Assert.assertFalse(transform.equals(transform)); Assert.assertFalse(transform1.equals(transform1)); Assert.assertEquals(transform1.hashCode(), transform.hashCode()); new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {e0}); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(transform.transform(Double.POSITIVE_INFINITY), 0.0, 0.0); new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {e0}); Assert.assertEquals(transform.transform(3), 0.0, 0.0);
new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {t1}, 12); Assert.assertEquals(transform.getName().toString(), t1.getName().toString()); Assert.assertEquals(transform.getApproximateDomainRange().getMin().doubleValue(), 1.0, 0.0); Assert.assertEquals(transform.getApproximateDomainRange().getMax().doubleValue(), 2.0, 0.0); Assert.assertEquals(transform.transform(1.5), 201, 0.0); Assert.assertEquals( transform.transform(new Position(1.5), null).getOrdinatePosition(), 201, 0.0); Assert.assertEquals(transform.transform(2.5), 0.0, 12.0); new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] { DefaultLinearPiecewiseTransform1DElement.create(
public double transform(final double value) throws TransformationException { final T piece = findDomainElement(value); if (piece == null) { // do we have a default value? if (hasDefaultValue()) return getDefaultValue(); throw new TransformationException("Error evaluating:" + value); } return piece.transform(value); }
new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {zero, mainElement}); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(0.0, transform.transform(1), 0); Assert.assertEquals(Math.log(255.0), transform.transform(255), 0); Assert.assertEquals(Math.log(124.0), transform.transform(124), 0); Assert.assertEquals(Math.log(255.0), transform.transform(256), 0); } catch (TransformationException e) { exceptionFound = true; "no-data", RangeFactory.create(-1, -1), Double.NaN); transform = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {zero, mainElement, nodata}); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(0.0, transform.transform(1), 0); Assert.assertEquals(Math.log(255.0), transform.transform(255), 0); Assert.assertEquals(Math.log(124.0), transform.transform(124), 0); Assert.assertTrue(Double.isNaN(transform.transform(256))); } catch (TransformationException e1) { exceptionFound = true; try { transform = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>(
new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {e0}); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(1, transform.getSourceDimensions()); Assert.assertEquals(1, transform.getTargetDimensions());
new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {p0}, 11); Assert.assertEquals(piecewise.getApproximateDomainRange().getMin().doubleValue(), 0.0, 0.0); Assert.assertEquals(piecewise.getApproximateDomainRange().getMax().doubleValue(), 1.0, 0.0); Assert.assertEquals(piecewise.transform(0.5), 0.5, 0.0); Assert.assertEquals( piecewise.transform(new Position(0.5), null).getOrdinatePosition(), 0.5, 0.0); Assert.assertEquals(piecewise.transform(1.5), 0.0, 11.0);
return new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {mainElement}, 0);
public double transform(double value) throws TransformationException { initColorModel(); PiecewiseTransform1DElement transform = (PiecewiseTransform1DElement) findDomainElement(value); if (transform != null) return transform.transform(value); return this.preFilteringPiecewise.transform(value); }
public Range getApproximateDomainRange() { initColorModel(); return this.piecewise.getApproximateDomainRange(); }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof LinearColorMap)) return false; final LinearColorMap that = (LinearColorMap) o; if (!PiecewiseUtilities.equals(name, that.name)) return false; if (!PiecewiseUtilities.equals(defaultColor, that.defaultColor)) return false; if (preFilteringColor != that.preFilteringColor) return false; if (!PiecewiseUtilities.equals(preFilteringElements, that.preFilteringElements)) return false; if (!PiecewiseUtilities.equals(standardElements, that.standardElements)) return false; return piecewise.equals(that.piecewise); }
public boolean hasDefaultValue() { initColorModel(); return this.piecewise.hasDefaultValue(); }
public LinearColorMapElement findDomainElement(double sample) { initColorModel(); final boolean prefiltering = this.preFilteringElements != null; LinearColorMapElement retValue = null; if (prefiltering) retValue = preFilteringPiecewise.findDomainElement(sample); if (retValue == null) retValue = piecewise.findDomainElement(sample); return retValue; }
public double getDefaultValue() { initColorModel(); return this.piecewise.getDefaultValue(); }
DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement> transform = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] { e0 }); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(1, transform.getSourceDimensions()); Assert.assertEquals(1, transform.getTargetDimensions());
final DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement> piecewise = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] { p0 }, 11); Assert.assertEquals(piecewise.getApproximateDomainRange().getMin().doubleValue(), 0.0, 0.0); Assert.assertEquals(piecewise.getApproximateDomainRange().getMax().doubleValue(), 1.0, 0.0); Assert.assertEquals(piecewise.transform(0.5), 0.5, 0.0); Assert.assertEquals(piecewise.transform(1.5), 0.0, 11.0);
return new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] {mainElement}, 0);
DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement> transform = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] { zero, mainElement }); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(0.0, transform.transform(1), 0); Assert.assertEquals(Math.log(255.0), transform.transform(255), 0); Assert.assertEquals(Math.log(124.0), transform.transform(124), 0); try { Assert.assertEquals(Math.log(255.0), transform.transform(256), 0); Assert.assertTrue(false); } catch (TransformationException e) { transform = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] { zero, mainElement, nodata }); Assert.assertEquals(0.0, transform.transform(0), 0); Assert.assertEquals(0.0, transform.transform(1), 0); Assert.assertEquals(Math.log(255.0), transform.transform(255), 0); Assert.assertEquals(Math.log(124.0), transform.transform(124), 0); try { Assert.assertTrue(Double.isNaN(transform.transform(256))); Assert.assertTrue(false); } catch (TransformationException e) { .create("overlap", RangeFactory.create(-100, true, 12, true), Double.NaN); try { transform = new DefaultPiecewiseTransform1D<DefaultPiecewiseTransform1DElement>( new DefaultPiecewiseTransform1DElement[] { zero, mainElement, overlap, nodata }); Assert.assertTrue(false);
public double transform(double value) throws TransformationException { initColorModel(); PiecewiseTransform1DElement transform = (PiecewiseTransform1DElement) findDomainElement(value); if (transform != null) return transform.transform(value); return this.preFilteringPiecewise.transform(value); }
public Range getApproximateDomainRange() { initColorModel(); return this.piecewise.getApproximateDomainRange(); }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof LinearColorMap)) return false; final LinearColorMap that = (LinearColorMap) o; if (!PiecewiseUtilities.equals(name, that.name)) return false; if (!PiecewiseUtilities.equals(defaultColor, that.defaultColor)) return false; if (preFilteringColor != that.preFilteringColor) return false; if (!PiecewiseUtilities.equals(preFilteringElements, that.preFilteringElements)) return false; if (!PiecewiseUtilities.equals(standardElements, that.standardElements)) return false; return piecewise.equals(that.piecewise); }