sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (Jira)" <j...@apache.org>
Subject [jira] [Resolved] (SIS-495) Resampling trims one pixel when transform is identity and interpolation is nearest
Date Thu, 04 Jun 2020 12:59:00 GMT

     [ https://issues.apache.org/jira/browse/SIS-495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Martin Desruisseaux resolved SIS-495.
-------------------------------------
    Resolution: Fixed

> Resampling trims one pixel when transform is identity and interpolation is nearest
> ----------------------------------------------------------------------------------
>
>                 Key: SIS-495
>                 URL: https://issues.apache.org/jira/browse/SIS-495
>             Project: Spatial Information Systems
>          Issue Type: Bug
>          Components: Referencing
>            Reporter: Johann Sorel
>            Assignee: Martin Desruisseaux
>            Priority: Major
>             Fix For: 1.1
>
>
> The new resample removes the right most pixel when transform is identity and interpolation
is set to nearest.
>  
> Test case :
> {code:java}
>     /**
>      * Tests resample with an identity transform and a coverage extent change.
>      *
>      * @throws TransformException if some coordinates can not be transformed to the target
grid geometry.
>      */
>     @Test
>     @Ignore
>     public void testExtentIdentity() throws TransformException {
>         final CoordinateReferenceSystem crs = CommonCRS.WGS84.normalizedGeographic();
>         final BufferedImage image = new BufferedImage(2, 2, BufferedImage.TYPE_BYTE_GRAY);
>         final WritablePixelIterator ite = WritablePixelIterator.create(image);
>         for (int x = 0; x < 2; x++) {
>             for (int y = 0; y < 2; y++) {
>                 ite.moveTo(x, y);
>                 ite.setSample(0, 10);
>             }
>         }
>         final AffineTransform2D gridToCrs = new AffineTransform2D(1, 0, 0, -1, 0, 0);
>         final GridCoverageBuilder gcb = new GridCoverageBuilder();
>         gcb.setValues(image);
>         gcb.setDomain(new GridGeometry(null, CELL_CENTER, gridToCrs, crs));
>         final GridCoverage coverage = gcb.build();
>         GridGeometry targetGrid = new GridGeometry(new GridExtent(4, 4), CELL_CENTER,
gridToCrs, crs);
>         final GridCoverage target = resample(coverage, targetGrid);
>         Raster data = target.render(null).getData();
>         Assert.assertEquals(10, data.getSample(0, 0, 0));
>         Assert.assertEquals(10, data.getSample(1, 0, 0));
>         Assert.assertEquals( 0, data.getSample(2, 0, 0));
>         Assert.assertEquals( 0, data.getSample(3, 0, 0));
>         Assert.assertEquals(10, data.getSample(0, 1, 0));
>         Assert.assertEquals(10, data.getSample(1, 1, 0));
>         Assert.assertEquals( 0, data.getSample(2, 1, 0));
>         Assert.assertEquals( 0, data.getSample(3, 1, 0));
>         Assert.assertEquals( 0, data.getSample(0, 2, 0));
>         Assert.assertEquals( 0, data.getSample(1, 2, 0));
>         Assert.assertEquals( 0, data.getSample(2, 2, 0));
>         Assert.assertEquals( 0, data.getSample(3, 2, 0));
>     }{code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message