Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VRT: add a new mode to apply chained processing steps that apply to several bands at the same time #27

Closed
wants to merge 18 commits into from

Conversation

rouault
Copy link
Owner

@rouault rouault commented Mar 6, 2024

The following built-in algorithms are introduced, and typically applied in the following order:

  • Dehazing: remove haze effects by applying (subsampled) gain and offset auxiliary datasets.
  • BandAffineCombination: to perform an affine transformation combination of bands.
  • Trimming: local thresholding of saturation
  • LUT: apply a look-up table (band per band)

@rouault rouault force-pushed the vrtprocesseddataset branch 2 times, most recently from d219efd to 61cf506 Compare March 6, 2024 00:30
if (m_poSrcDS->RasterIO(GF_Read, nXOff, nYOff, nBufXSize, nBufYSize,
abyInput.data(), nBufXSize, nBufYSize, eFirstDT,
nFirstBandCount, nullptr,
nFirstDTSize * nFirstBandCount,

Check failure

Code scanning / CodeQL

Multiplication result converted to larger type High

Multiplication result may overflow 'int' before it is converted to 'GSpacing'.
abyInput.data(), nBufXSize, nBufYSize, eFirstDT,
nFirstBandCount, nullptr,
nFirstDTSize * nFirstBandCount,
nFirstDTSize * nFirstBandCount * nBufXSize,

Check failure

Code scanning / CodeQL

Multiplication result converted to larger type High

Multiplication result may overflow 'int' before it is converted to 'GSpacing'.
@rouault rouault force-pushed the vrtprocesseddataset branch 2 times, most recently from 6741815 to b6415f7 Compare March 19, 2024 18:36
rouault and others added 18 commits March 24, 2024 18:55
…ig=Contig, LERC and NaN values (fixes OSGeo#9530)

The LERC codec up-to-now didn't do any special processing when writing a
strile in a multi-band PlanarConfig=Contig file, resulting in
corruptions. Now we generate a mask buffer in that situation. Actually,
if the NaN values are not at the same location accross bands, we need to
write one mask-per-band, which requires liblerc >= 3.0, and in that
situation change the LERC blob to multi-band instead of multi-depth/dim,
with liblerc >= 3.0. When all bands have NaN values at the same
location, we generate a single mask, which is compatible of liblerc <
3.0, but requires at last this version of libtiff to be read.
This is the best solution we come with to fix the issue while having
the maximum backward compatibility.

This also fixes a wrong condition for creation of tiled JPEG where the
condition to pad the right-most and bottom-most tiles was wrongly
written and would have only worked for rasters with same number of tiles
in horizontal and vertical dimension
CI: codeql.yml: initialize CodeQL after running cmake to avoid OSGeo#9549
GTiff + internal libtiff: deal with issues with multi-band PlanarConfig=Contig, LERC and NaN values (fixes OSGeo#9530)
Add discussion of newer geometry types, feature styling, field types
and subtypes, field domains, and relationships.
- Correct SWIG directives so that FieldDomain docs are included
- Split FieldDefn and FieldDomain docs into separate files
- Remove C signatures, types
- Add some examples
Doc: Update vector data model description
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@0a5c615...82c7e63)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…tions/setup-python-5.1.0

Bump actions/setup-python from 5.0.0 to 5.1.0
GMLAS: fix crash when reading CityGML files (fixes r-spatial/sf#2371)
…everal bands at the same time

The following built-in algorithms are introduced, and typically applied
in the following order:
- Dehazing: remove haze effects by applying (subsampled) gain and offset
  auxiliary datasets.
- BandAffineCombination: to perform an affine transformation combination
  of bands.
- Trimming: local thresholding of saturation
- LUT: apply a look-up table (band per band)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants