<h1>CHANGELOG</h1><h2>Version 3.16 (2025-03-24)</h2><p><em>This release was tested under QGIS 3.40 (LTR) and 3.42 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>add application for semantic segmentation via deep learning <a href="https://github.com/EnMAP-Box/enmap-box/issues/1068">#1068</a></li></ul><h4>Data / Metadata Model</h4><ul><li>[RasterReader] support raster data reading with on-the-fly reprojection <a href="https://github.com/EnMAP-Box/enmap-box/issues/1005">#1005</a></li><li>[RasterReader] support raster band level CENTRAL_WAVELENGTH_UM and FWHM_UM metadata in the GDAL IMAGERY domain <a href="https://github.com/EnMAP-Box/enmap-box/issues/1078">#1078</a></li></ul><h4>Processing Algorithms</h4><ul><li>[Create spectral indices] support indices specified by JSON file <a href="https://github.com/EnMAP-Box/enmap-box/issues/988">#988</a></li><li>[Create spectral indices] add soil organic carbon index <a href="https://github.com/EnMAP-Box/enmap-box/issues/1009">#1009</a></li></ul><h4>Miscellaneous</h4><ul><li>[Import Spectral Profiles] add support for Spectra Vista Corp-SVC Field Spectrometers <a href="https://github.com/EnMAP-Box/enmap-box/issues/662">#662</a></li></ul><h3>Fixed Bugs</h3><ul><li>Error in yml file for conda environment <a href="https://github.com/EnMAP-Box/enmap-box/issues/1010">#1010</a></li><li>[Classification layer accuracy report] KeyError: 'accuracy' <a href="https://github.com/EnMAP-Box/enmap-box/issues/1070">#1070</a></li><li>[Spectral View] saving spectral library modification breaks profile plot in editor widget <a href="https://github.com/EnMAP-Box/enmap-box/issues/1080">#1080</a></li><li>Cannot open true color a file <a href="https://github.com/EnMAP-Box/enmap-box/issues/1088">#1088</a></li><li><p>removed dependency on gdal.const.DMD_CREATIONFIELDDATASUBTYPES #858, #886, <a href="https://github.com/EnMAP-Box/enmap-box/issues/986">#986</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/843">#843</a></p></li><li><p>fixed copy &amp; paste of layer rendering styles <a href="https://github.com/EnMAP-Box/qgispluginsupport/issues/86">#qps 86</a></p></li><li><p>typeguard version 3+ is not supported <a href="https://github.com/EnMAP-Box/enmap-box/issues/430">#430</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/398">#398</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/455">#455</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/789">#789</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/1096">#1096</a></p></li><li>typeguard v3+ has severe performance problems</li><li>freezed typeguard to v2.13.3 and shipped as enmapbox.typeguard </li></ul><h2>Version 3.15 (2024-10-11)</h2><p><em>This release was tested under QGIS 3.34 (LTR) and 3.38 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>add algorithm and interactive tool for plotting trajectories of land cover change over time via Sankey plot <a href="https://github.com/EnMAP-Box/enmap-box/issues/924">#924</a></li></ul><h4>Data / Metadata Model</h4><ul><li>support temporal metadata provided by 'time' dimension in NetCDF files <a href="https://github.com/EnMAP-Box/enmap-box/issues/906">#906</a></li><li>support temporal metadata provided by .aux.json files created with  R-cran terra package <a href="https://github.com/EnMAP-Box/enmap-box/issues/907">#907</a></li></ul><h4>GUI</h4><ul><li>[Data Views] add "Apply mask" option to the raster layer context menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/942">#942</a></li></ul><h4>Processing Algorithms</h4><ul><li>Import USGS ASCII Speclib <a href="https://github.com/EnMAP-Box/enmap-box/issues/302">#302</a></li><li>add import algorithms for Planet Scope products <a href="https://github.com/EnMAP-Box/enmap-box/issues/492">#492</a></li><li>[Classification workflow] support OOB validation <a href="https://github.com/EnMAP-Box/enmap-box/issues/910">#910</a></li><li>[Create classification/regression/unsupervised dataset] store sample locations inside a dataset if available <a href="https://github.com/EnMAP-Box/enmap-box/issues/911">#911</a></li><li>[Classification workflow] add "classification layer accuracy and area report" output <a href="https://github.com/EnMAP-Box/enmap-box/issues/912">#912</a></li><li>implement "Create spectral library (from classification dataset)" <a href="https://github.com/EnMAP-Box/enmap-box/issues/917">#917</a></li><li>add algorithm and interactive tool for plotting trajectories of land cover change over time via Sankey plot <a href="https://github.com/EnMAP-Box/enmap-box/issues/924">#924</a></li><li>add algorithms for creating spectral library from classification/regression dataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/931">#931</a></li><li>[Raster layer bounding polygon] add option for convex hull <a href="https://github.com/EnMAP-Box/enmap-box/issues/950">#950</a></li><li>[Analysis ready data] add algorithm for raster tiling <a href="https://github.com/EnMAP-Box/enmap-box/issues/953">#953</a></li><li>add "Aggregate raster layers" algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/956">#956</a></li><li>add algorithm for creating a raster mask <a href="https://github.com/EnMAP-Box/enmap-box/issues/959">#959</a></li><li>[Import EnMAP L2A product] support L2A Analysis Ready Data from Geoservice / EOLAB <a href="https://github.com/EnMAP-Box/enmap-box/issues/973">#973</a></li><li>[Import EnMAP L2A product] derive bad band information from metadata file <a href="https://github.com/EnMAP-Box/enmap-box/issues/974">#974</a></li><li>in all algorithms with VRT raster output, also support GTiff and ENVI outputs <a href="https://github.com/EnMAP-Box/enmap-box/issues/977">#977</a></li></ul><h4>Miscellaneous</h4><ul><li>implement auto-generated changelog <a href="https://github.com/EnMAP-Box/enmap-box/issues/938">#938</a></li></ul><h3>Fixed Bugs</h3><ul><li>Save current profiles on CTRL+S <a href="https://github.com/EnMAP-Box/enmap-box/issues/871">#871</a></li><li>[Spectral resampling] EMIT sensor is missing <a href="https://github.com/EnMAP-Box/enmap-box/issues/891">#891</a></li><li>[Classification layer accuracy and area report (for simple random sampling)] wrong confidence intervals for area estimates <a href="https://github.com/EnMAP-Box/enmap-box/issues/909">#909</a></li><li>Regression based unmixing | problem with implementation of LinearSVR <a href="https://github.com/EnMAP-Box/enmap-box/issues/967">#967</a></li><li>[Regression-based unmixing] _catboost.CatBoostError: Expected callable object or stream-like object <a href="https://github.com/EnMAP-Box/enmap-box/issues/980">#980</a></li><li>[changelog] fix collapsable section for issues <a href="https://github.com/EnMAP-Box/enmap-box/issues/990">#990</a></li><li>[Location Browser] requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0) <a href="https://github.com/EnMAP-Box/enmap-box/issues/1017">#1017</a></li><li>[Import XYZ product] performance issue with scaled reflectance raster <a href="https://github.com/EnMAP-Box/enmap-box/issues/1028">#1028</a></li><li>[Classification layer accuracy report] confusion matrix layout is wrong/transposed <a href="https://github.com/EnMAP-Box/enmap-box/issues/1055">#1055</a></li></ul><h2>Version 3.14 (2024-04-11)</h2><p><em>This release was tested under QGIS 3.34 (LTR) and 3.36 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>[Profile Analytics] allow aggregated Z-Profiles using a selected feature-geometry <a href="https://github.com/EnMAP-Box/enmap-box/issues/261">#261</a></li><li>[GDAL Metadata] rename "Range" band property to "Wavelength Range" <a href="https://github.com/EnMAP-Box/enmap-box/issues/757">#757</a></li></ul><h4>Data / Metadata Model</h4><ul><li>add support for STAC-like metadata sidecar files <a href="https://github.com/EnMAP-Box/enmap-box/issues/753">#753</a></li><li>[RasterWriter] dump all metadata into the *.stac.json sidecar file on object destruction <a href="https://github.com/EnMAP-Box/enmap-box/issues/768">#768</a></li></ul><h4>GUI</h4><ul><li>[Tools &gt; Developers menu] add "Open Plugin Directory" button <a href="https://github.com/EnMAP-Box/enmap-box/issues/666">#666</a></li><li>Plot variance vs. components in PCA <a href="https://github.com/EnMAP-Box/enmap-box/issues/668">#668</a></li><li>[Data Sources panel] improve support for "Open in Explorer" option for vector sources <a href="https://github.com/EnMAP-Box/enmap-box/issues/678">#678</a></li><li>[Spectral View] better support for vector-layers without proper QML sidecar file <a href="https://github.com/EnMAP-Box/enmap-box/issues/755">#755</a></li><li>[Spectral View] add option/dialog for check/uncheck individual fields to be interpreted as SpectralProfile fields <a href="https://github.com/EnMAP-Box/enmap-box/issues/758">#758</a></li><li>[Spectral View] find SpectralProfile attributes automatically <a href="https://github.com/EnMAP-Box/enmap-box/issues/778">#778</a></li></ul><h4>Processing Algorithms</h4><ul><li>[ClassificationWorkflowAlgorithm] make input raster optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/631">#631</a></li><li>add algorithm for deriving the bounding polygon of a raster layer <a href="https://github.com/EnMAP-Box/enmap-box/issues/634">#634</a></li><li>[Import XYZ product] set default style to TrueColor <a href="https://github.com/EnMAP-Box/enmap-box/issues/635">#635</a></li><li>implement processing algorithm for exporting classification dataset into FORCE text file formats <a href="https://github.com/EnMAP-Box/enmap-box/issues/664">#664</a></li><li>[Sample raster layer values algo] add "Skip no data pixel" option <a href="https://github.com/EnMAP-Box/enmap-box/issues/682">#682</a></li><li>[Class fraction layer from categorized vector layer] also support the raster case in the same algo <a href="https://github.com/EnMAP-Box/enmap-box/issues/702">#702</a></li><li>add algorithm for scaling/converting raster data <a href="https://github.com/EnMAP-Box/enmap-box/issues/765">#765</a></li><li>[Create classification dataset (from categorized spectral library)] add option for excluding bad bands <a href="https://github.com/EnMAP-Box/enmap-box/issues/766">#766</a></li><li>[Spectral resampling (to wavelength)] add option for selecting the nearest wavelength <a href="https://github.com/EnMAP-Box/enmap-box/issues/801">#801</a></li><li>[Classification layer accuracy and area report] add support for non-matching category names <a href="https://github.com/EnMAP-Box/enmap-box/issues/845">#845</a></li></ul><h4>Miscellaneous</h4><ul><li>[Scripts/EnFireMAP] add script for sampling point data from data cube <a href="https://github.com/EnMAP-Box/enmap-box/issues/681">#681</a></li><li>split and restructure the requirement.txt file by operating system and Python environment <a href="https://github.com/EnMAP-Box/enmap-box/issues/701">#701</a></li></ul><h3>Fixed Bugs</h3><ul><li>[GEE Time Series Explorer] AttributeError: 'GeeTemporalProfileDockWidget' object has no attribute 'onDownloadLayerProfilesClicked' <a href="https://github.com/EnMAP-Box/enmap-box/issues/691">#691</a></li><li>splash screen not showing up on EnMAP-Box startup <a href="https://github.com/EnMAP-Box/enmap-box/issues/714">#714</a></li><li>Error in executing EnPT - EnMAP Processing Tool (v0.7.6) for Level-1B to Level-2A conversion <a href="https://github.com/EnMAP-Box/enmap-box/issues/719">#719</a></li><li>trouble with numba&gt;=0.57 <a href="https://github.com/EnMAP-Box/enmap-box/issues/735">#735</a></li><li>[Data Views] spectral view layer legend not correctly updated <a href="https://github.com/EnMAP-Box/enmap-box/issues/737">#737</a></li><li>[Spectral View] "Automatically pan to current feature" in isn't working in Form View <a href="https://github.com/EnMAP-Box/enmap-box/issues/750">#750</a></li><li>[Layer Properties &gt; GDAL Metadata] copy&amp;paste wavelength values from ENVI Header to Band Metadata table isn't working <a href="https://github.com/EnMAP-Box/enmap-box/issues/754">#754</a></li><li>error from decorrelationstretchdialog.py : MinMaxScaler must be an instance of 'tuple'. Got [0, 255] instead <a href="https://github.com/EnMAP-Box/enmap-box/issues/771">#771</a></li><li>after stop vector editing, the "Add point feature" map tool is still shown <a href="https://github.com/EnMAP-Box/enmap-box/issues/774">#774</a></li><li>[Cursor location values panel] category color and name isn't shown for last category <a href="https://github.com/EnMAP-Box/enmap-box/issues/775">#775</a></li><li>[Classification layer accuracy and area report] layer styling is set back to default <a href="https://github.com/EnMAP-Box/enmap-box/issues/776">#776</a></li><li>test runs locally but fails in CI  <a href="https://github.com/EnMAP-Box/enmap-box/issues/781">#781</a></li><li>[Spectral resampling] predefined sensors are not included in the plugin Zip <a href="https://github.com/EnMAP-Box/enmap-box/issues/786">#786</a></li><li>CatBoostClassifier <a href="https://github.com/EnMAP-Box/enmap-box/issues/790">#790</a></li><li>ModuleNotFoundError:No module named 'llvmlite.llvmpy' <a href="https://github.com/EnMAP-Box/enmap-box/issues/791">#791</a></li><li>[Spectral Processing] outputs aren't properly opened inside Data Sources panel and file locations aren't reported in the Log tab <a href="https://github.com/EnMAP-Box/enmap-box/issues/798">#798</a></li><li>Spectral resampling (to Sentinel-2A and B) fails with "failed to open spectral library: 'NoneType' object has no attribute 'source'" <a href="https://github.com/EnMAP-Box/enmap-box/issues/803">#803</a></li><li>macOS installation problem: installing the plugin starts a new QGIS instance <a href="https://github.com/EnMAP-Box/enmap-box/issues/804">#804</a></li><li>Avoid checks on equality of float results, use almostEqual instead <a href="https://github.com/EnMAP-Box/enmap-box/issues/813">#813</a></li><li>QGIS v.3-36 problem when enabling EnMap-Box <a href="https://github.com/EnMAP-Box/enmap-box/issues/818">#818</a></li><li>SaveLibraryAsGeoJsonAlgorithm fails to save Speclibs with MAP field <a href="https://github.com/EnMAP-Box/enmap-box/issues/823">#823</a></li><li>Select Features, AsdsertionError isinstance(mode, QgsMapToolSelectionHandler.SelectionMode) <a href="https://github.com/EnMAP-Box/enmap-box/issues/827">#827</a></li><li>ensomap:  ImportError:cannot import name 'docstring' from 'matplotlib' (/home/alobo/.local/lib/python3.10/site-packages/matplotlib/<strong>init</strong>.py) <a href="https://github.com/EnMAP-Box/enmap-box/issues/836">#836</a></li><li>Missing Python Package(s) message is displayed at every start <a href="https://github.com/EnMAP-Box/enmap-box/issues/837">#837</a></li><li>enpt is missing and cannot be installed <a href="https://github.com/EnMAP-Box/enmap-box/issues/839">#839</a></li><li>[EnmapBoxSettings] boolean values are not correctly handled <a href="https://github.com/EnMAP-Box/enmap-box/issues/851">#851</a></li><li>Problem importing EnMAP data into QGIS 3.36 <a href="https://github.com/EnMAP-Box/enmap-box/issues/862">#862</a></li><li>AttributeError: 'NoneType' object has no attribute 'highlightedVariables' <a href="https://github.com/EnMAP-Box/enmap-box/issues/863">#863</a></li><li>[RasterReader] open a WMS layer with "openWithGdal=False" isn't working <a href="https://github.com/EnMAP-Box/enmap-box/issues/865">#865</a></li><li>EnMAP L2A data isn't scaled correctly between 0 and 1 <a href="https://github.com/EnMAP-Box/enmap-box/issues/879">#879</a></li><li>[Scale/truncate/convert raster layer] algo is placed in the wrong algo group <a href="https://github.com/EnMAP-Box/enmap-box/issues/885">#885</a></li><li>Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory() method  <a href="https://github.com/EnMAP-Box/enmap-box/issues/886">#886</a></li><li>[SpectralView] GeoJSON library with NaN values not correctly plotted <a href="https://github.com/EnMAP-Box/enmap-box/issues/887">#887</a></li><li>[PyPi Package Info] Latest version not displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/890">#890</a></li><li>[Classification layer accuracy and area report] issue with unclassified pixel inside map <a href="https://github.com/EnMAP-Box/enmap-box/issues/900">#900</a></li><li>[Data Sources] right-click on nodes inside a model file (*.pkl) gives error <a href="https://github.com/EnMAP-Box/enmap-box/issues/908">#908</a></li><li>Spectral library axis flipped <a href="https://github.com/EnMAP-Box/enmap-box/issues/916">#916</a></li><li>[SpectralLibraryUtils] SpectralLibraryUtils.writeToSource is creating wrong CRS <a href="https://github.com/EnMAP-Box/enmap-box/issues/936">#936</a></li></ul><h2>Version 3.13 (2023-10-06)</h2><p><em>This release was tested under QGIS 3.28 (LTR), 3.32 and 3.34 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>[Profile Analytics] auto-select a layer if none is selected yet <a href="https://github.com/EnMAP-Box/enmap-box/issues/122">#122</a></li><li>[GEE TSE] shortcut for opening the custom collections folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/395">#395</a></li><li>[Raster Band Stacking] add option for preventing duplicated output band names <a href="https://github.com/EnMAP-Box/enmap-box/issues/468">#468</a></li><li>[Profile Analytics] link profiles into SpectralView as current profiles <a href="https://github.com/EnMAP-Box/enmap-box/issues/530">#530</a></li><li>[Profile Analytics] add option for linking profiles from GEE Time Series Explorer <a href="https://github.com/EnMAP-Box/enmap-box/issues/531">#531</a></li></ul><h4>Continuous Integration</h4><ul><li>add global option RAISE_ALL_EXCEPTIONS <a href="https://github.com/EnMAP-Box/enmap-box/issues/598">#598</a></li><li>[Mambaforge/Conda installation] add YML file for QGIS Long Term Release (LTR) environment <a href="https://github.com/EnMAP-Box/enmap-box/issues/605">#605</a></li></ul><h4>Data / Metadata Model</h4><ul><li>[Spectral resampling algos] introduce format for predefined sensors <a href="https://github.com/EnMAP-Box/enmap-box/issues/579">#579</a></li></ul><h4>GUI</h4><ul><li>[Project Settings] add Project Open/Save buttons to EnMAP-Box main menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/307">#307</a></li><li>[Data Views panel] add context-menu shortcut for setting the layer name as map view name <a href="https://github.com/EnMAP-Box/enmap-box/issues/387">#387</a></li><li>[Spectral View] better support for GeoJSON format <a href="https://github.com/EnMAP-Box/enmap-box/issues/423">#423</a></li><li>[Project Settings] add Open Project button in Project menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/446">#446</a></li><li>FR: EnMAP-BoxContextMenuProvider <a href="https://github.com/EnMAP-Box/enmap-box/issues/513">#513</a></li><li>[SpectralView] add distance xUnits <a href="https://github.com/EnMAP-Box/enmap-box/issues/525">#525</a></li><li>[Data Views panel] add "Make Permanent..." option to layer context menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/660">#660</a></li></ul><h4>Processing Algorithms</h4><ul><li>make feature name matching optional and not the default in ML predictions <a href="https://github.com/EnMAP-Box/enmap-box/issues/297">#297</a></li><li>use direct assignment between band number and detector in EnMAP L2A product specified in the METADATA.XML <a href="https://github.com/EnMAP-Box/enmap-box/issues/415">#415</a></li><li>[Spectral Index Creator] add support for formulars with input bands given by center wavelength <a href="https://github.com/EnMAP-Box/enmap-box/issues/456">#456</a></li><li>[Import EnMAP L2A product] add "Exclude bad bands" option <a href="https://github.com/EnMAP-Box/enmap-box/issues/461">#461</a></li><li>[Classification workflow algo] the default feature matching by name is causing problems in case of duplicated names <a href="https://github.com/EnMAP-Box/enmap-box/issues/467">#467</a></li><li>implement algorithms for calculating spectral similarity between classes <a href="https://github.com/EnMAP-Box/enmap-box/issues/469">#469</a></li><li>[Class fraction layer from categorized vector layer] add option to exclude border pixel <a href="https://github.com/EnMAP-Box/enmap-box/issues/478">#478</a></li><li>[Raster math] add option for recoding input no data values <a href="https://github.com/EnMAP-Box/enmap-box/issues/479">#479</a></li><li>short of spectral separability tests <a href="https://github.com/EnMAP-Box/enmap-box/issues/494">#494</a></li><li>[Spectral resampling (to EnMAP)] update EnMAP sensor model <a href="https://github.com/EnMAP-Box/enmap-box/issues/496">#496</a></li><li>[Import EnMAP L2A product] support band order by detector <a href="https://github.com/EnMAP-Box/enmap-box/issues/515">#515</a></li><li>[Raster math] don't create empty band names by default <a href="https://github.com/EnMAP-Box/enmap-box/issues/532">#532</a></li><li>[Edit raster source band properties] allow expressions using counter variables to derive value lists <a href="https://github.com/EnMAP-Box/enmap-box/issues/539">#539</a></li><li>[Processing algorithms] add option for manual includes into auto-generated processing algo RST files <a href="https://github.com/EnMAP-Box/enmap-box/issues/553">#553</a></li><li>[Create classification/regression/unsupervised dataset algos] add "Exclude bad bands/features" option <a href="https://github.com/EnMAP-Box/enmap-box/issues/560">#560</a></li><li>[Spectral resampling (to spectral raster layer wavelength and FWHM)] allow to select non-raster files specifying center wavelength and fwhm <a href="https://github.com/EnMAP-Box/enmap-box/issues/574">#574</a></li><li>[Spectral resampling algos] add option for linear interpolation <a href="https://github.com/EnMAP-Box/enmap-box/issues/580">#580</a></li><li>implement random point-vector creation from raster layer value-ranges <a href="https://github.com/EnMAP-Box/enmap-box/issues/593">#593</a></li><li>implement an algorithm that creates a classification layer from a rendered image <a href="https://github.com/EnMAP-Box/enmap-box/issues/611">#611</a></li><li>[Spectral resampling] use a file output widget for writing the SRF <a href="https://github.com/EnMAP-Box/enmap-box/issues/620">#620</a></li><li>[Convolution filter algos] mark output no data bands as bad bands <a href="https://github.com/EnMAP-Box/enmap-box/issues/637">#637</a></li><li>[Subset raster layer bands] add "Derive and exclude additional bad bands" option <a href="https://github.com/EnMAP-Box/enmap-box/issues/638">#638</a></li><li>[Spectral Index Optimizer] filter non-finite values before fitting <a href="https://github.com/EnMAP-Box/enmap-box/issues/718">#718</a></li></ul><h4>Miscellaneous</h4><ul><li>[Spectral View] use @symbol_color by default for a new profile visualization <a href="https://github.com/EnMAP-Box/enmap-box/issues/312">#312</a></li><li>make example datasets (berlin, potsdam) available via Menu &gt; Tools &gt; Developers &gt; Example Datasets <a href="https://github.com/EnMAP-Box/enmap-box/issues/561">#561</a></li><li>[Example Dataset] make the full EnMAP scene available for download <a href="https://github.com/EnMAP-Box/enmap-box/issues/566">#566</a></li><li>[Example Dataset Potsdam] add library and continuous-vector-layer <a href="https://github.com/EnMAP-Box/enmap-box/issues/576">#576</a></li><li>[Scripts] implement script for cutting EnMAP L2A scenes according to a given tiling scheme <a href="https://github.com/EnMAP-Box/enmap-box/issues/583">#583</a></li></ul><h3>Fixed Bugs</h3><ul><li>[Profile Analytics] ignore or handle WMS layers properly <a href="https://github.com/EnMAP-Box/enmap-box/issues/443">#443</a></li><li>[Scripts/create_plugin.py] can't build plugin (somehow related to Markdown) <a href="https://github.com/EnMAP-Box/enmap-box/issues/452">#452</a></li><li>New error when starting EnMap-Box <a href="https://github.com/EnMAP-Box/enmap-box/issues/459">#459</a></li><li>ValueError: ndarray is not C-contiguous <a href="https://github.com/EnMAP-Box/enmap-box/issues/463">#463</a></li><li>Ubuntu 22.04: No module named 'PyQt5.pyrcc_main' <a href="https://github.com/EnMAP-Box/enmap-box/issues/466">#466</a></li><li>[Classification workflow] temp files are written into the QGIS installation folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/477">#477</a></li><li>ValueError: Input contains NaN, infinity or a value too large for dtype('float32'). <a href="https://github.com/EnMAP-Box/enmap-box/issues/495">#495</a></li><li>[Translate raster layer] data gain/offset is getting lost, when translation an EnMAP L2A VRT to GTiff format <a href="https://github.com/EnMAP-Box/enmap-box/issues/501">#501</a></li><li>Regression-based unmixing does not allow to select Endmember dataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/503">#503</a></li><li>"Predict classification layer" can not use RFc model <a href="https://github.com/EnMAP-Box/enmap-box/issues/504">#504</a></li><li>Bug in beta leaf angle distribution within IVVRM (EnMAP-box 3.12.1) <a href="https://github.com/EnMAP-Box/enmap-box/issues/507">#507</a></li><li>FAILED tests/enmap-box/enmapboxprocessing/test_utils.py::TestUtils::test_gdalDataTypeToNumpyDataType <a href="https://github.com/EnMAP-Box/enmap-box/issues/508">#508</a></li><li>[Data Views panel] opening the layer properties from the context menu not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/541">#541</a></li><li>Convolution Algorithm tests <a href="https://github.com/EnMAP-Box/enmap-box/issues/542">#542</a></li><li>Plugin EnmapBox crashed QGIS <a href="https://github.com/EnMAP-Box/enmap-box/issues/546">#546</a></li><li>Warning on startup: "Agricultural Applications already loaded" <a href="https://github.com/EnMAP-Box/enmap-box/issues/568">#568</a></li><li>[Data Sources] Right-click list index out of range <a href="https://github.com/EnMAP-Box/enmap-box/issues/569">#569</a></li><li>Can not open Map View <a href="https://github.com/EnMAP-Box/enmap-box/issues/570">#570</a></li><li>[Map View] context menu content is shown twice <a href="https://github.com/EnMAP-Box/enmap-box/issues/572">#572</a></li><li>[Spectral View] profiles not correctly displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/581">#581</a></li><li>TypeError when running PRISMA L2D import in batch <a href="https://github.com/EnMAP-Box/enmap-box/issues/584">#584</a></li><li>[Processing] clicking the "Run as Batch Process" button when running in PyCharm not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/585">#585</a></li><li>[Spectral convolution Ricker Wavelet filter] ValueError: Setting nan_treatment='interpolate' requires the kernel to be normalized <a href="https://github.com/EnMAP-Box/enmap-box/issues/587">#587</a></li><li>ModuleNotFoundError: No module named 'enmapboxexampledata' <a href="https://github.com/EnMAP-Box/enmap-box/issues/588">#588</a></li><li>[Raster math] broken link <a href="https://github.com/EnMAP-Box/enmap-box/issues/591">#591</a></li><li>import L2A EnMAP data - error <a href="https://github.com/EnMAP-Box/enmap-box/issues/595">#595</a></li><li>Raster Math IndexError: list index out of range <a href="https://github.com/EnMAP-Box/enmap-box/issues/601">#601</a></li><li>AttributeError:module 'numpy' has no attribute 'float'. <a href="https://github.com/EnMAP-Box/enmap-box/issues/604">#604</a></li><li>ValueError: node array from the pickle has an incompatible dtype <a href="https://github.com/EnMAP-Box/enmap-box/issues/614">#614</a></li><li>[Raster math] make the default output optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/615">#615</a></li><li>[QPS readENVIHeader] reading header file fails if binary file isn't available <a href="https://github.com/EnMAP-Box/enmap-box/issues/622">#622</a></li><li>classificationfromrenderedimagealgorithm.py: TypeError (Python 3.10) <a href="https://github.com/EnMAP-Box/enmap-box/issues/626">#626</a></li><li>[Location Browser] gives requests.exceptions.JSONDecodeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/636">#636</a></li><li>[Location Browser] Geocoding search not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/639">#639</a></li><li>[Import Spectral Profiles dialog] Raster Layer imports are not correctly scaled und no-data values aren't correctly set to NaN <a href="https://github.com/EnMAP-Box/enmap-box/issues/641">#641</a></li><li>[Spectral View] raster wavelength not recognized <a href="https://github.com/EnMAP-Box/enmap-box/issues/642">#642</a></li><li>[Spectral Processing] progress bar indicates processing after algorithm finishes <a href="https://github.com/EnMAP-Box/enmap-box/issues/643">#643</a></li><li>[Spectral Processing] after clicking on "Run" the dialog should be switching to the "Log" tab <a href="https://github.com/EnMAP-Box/enmap-box/issues/644">#644</a></li><li>[Spectral Processing] Python crashes when selecting "Translate raster layer" <a href="https://github.com/EnMAP-Box/enmap-box/issues/645">#645</a></li><li>[Spectral Processing] algo parameters not shown  <a href="https://github.com/EnMAP-Box/enmap-box/issues/647">#647</a></li><li>[Profile Analystics] Open within QGIS causes TypeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/649">#649</a></li><li>ERROR <a href="https://github.com/EnMAP-Box/enmap-box/issues/654">#654</a></li><li>[Processing algorithm dialog] outdated link for the Help button <a href="https://github.com/EnMAP-Box/enmap-box/issues/659">#659</a></li><li>[PIP Package Installer] is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/671">#671</a></li><li>Documentation on Installation <a href="https://github.com/EnMAP-Box/enmap-box/issues/672">#672</a></li><li>[Classification workflow] not working with testdataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/688">#688</a></li><li>EnMap installation - trouble with Python library <a href="https://github.com/EnMAP-Box/enmap-box/issues/690">#690</a></li><li>Error loading 'Classification Workflow (Advanced) <a href="https://github.com/EnMAP-Box/enmap-box/issues/694">#694</a></li><li>EnmapBox cannot be installed through flatpack <a href="https://github.com/EnMAP-Box/enmap-box/issues/707">#707</a></li><li>AttributeError: type object 'QgsMapLayerProxyModel' has no attribute 'Filters'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/713">#713</a></li><li>[Spectral View] collected pixel profiles aren't showing up inside a map view <a href="https://github.com/EnMAP-Box/enmap-box/issues/720">#720</a></li><li>[Class separability report algo] output is printed into the QGIS Python Console instead of the algo log <a href="https://github.com/EnMAP-Box/enmap-box/issues/722">#722</a></li><li>Link for requirements in docs not valid <a href="https://github.com/EnMAP-Box/enmap-box/issues/725">#725</a></li><li>[Regression layer accuracy report] scatter plot figures not shown in report <a href="https://github.com/EnMAP-Box/enmap-box/issues/727">#727</a></li><li>[Spectral View] GeoJSON library not correctly visualized <a href="https://github.com/EnMAP-Box/enmap-box/issues/731">#731</a></li><li>[Map View] Setting QGIS Map center/extent does not work <a href="https://github.com/EnMAP-Box/enmap-box/issues/738">#738</a></li><li>[Scatter Plot] funny behaviour on move houver event for empty plots <a href="https://github.com/EnMAP-Box/enmap-box/issues/745">#745</a></li><li>[PIP Installer] subprocess.CalledProcessError: Command '...\Python39\python3.exe -m pip list' returned non-zero exit status 1. <a href="https://github.com/EnMAP-Box/enmap-box/issues/760">#760</a></li><li>[Save raster layer as] Output options aren't applied <a href="https://github.com/EnMAP-Box/enmap-box/issues/808">#808</a></li><li>Decorrelation stretch rendering does not work <a href="https://github.com/EnMAP-Box/enmap-box/issues/811">#811</a></li><li>[Spectral View] import profiles from raster isn't working <a href="https://github.com/EnMAP-Box/enmap-box/issues/819">#819</a></li></ul><h2>Version 3.12 (2023-04-04)</h2><p><em>This release was tested under QGIS 3.28 (LTR).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>implement a Raster Band Stacking (EO4Q) app <a href="https://github.com/EnMAP-Box/enmap-box/issues/155">#155</a></li><li>Implement a Location Browser [EO4Q] app <a href="https://github.com/EnMAP-Box/enmap-box/issues/200">#200</a></li><li>implement Sensor Product Import (EO4Q) app <a href="https://github.com/EnMAP-Box/enmap-box/issues/211">#211</a></li><li>[Location Browser] support WKT geometries <a href="https://github.com/EnMAP-Box/enmap-box/issues/218">#218</a></li><li>[Profile Analytics] add code editor widget <a href="https://github.com/EnMAP-Box/enmap-box/issues/229">#229</a></li><li>connect to the QGIS Temporal Controller panel and add support for temporal raster stacks <a href="https://github.com/EnMAP-Box/enmap-box/issues/245">#245</a></li><li>[Raster Layer Styling] add a range-slider for interactively masking values to be displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/247">#247</a></li><li>[Temporal Raster Stack Controller] add support for QgsPalettedRasterRenderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/255">#255</a></li><li>[RasterReader API class] implement method that returns pixel-wise cover fractions of a polygon-geometry <a href="https://github.com/EnMAP-Box/enmap-box/issues/263">#263</a></li><li>[Profile Analytics] implement temporal timeseries fitting UFUNC using RBF Ensemble approach <a href="https://github.com/EnMAP-Box/enmap-box/issues/273">#273</a></li><li>[GEE TSE app] properly handle missing STAC files for custom collections <a href="https://github.com/EnMAP-Box/enmap-box/issues/369">#369</a></li><li>[Spectral Index Creator] use full name as band name <a href="https://github.com/EnMAP-Box/enmap-box/issues/390">#390</a></li></ul><h4>Continuous Integration</h4><ul><li>enmapboxtestdata.SensorProducts problems <a href="https://github.com/EnMAP-Box/enmap-box/issues/318">#318</a></li></ul><h4>Data / Metadata Model</h4><ul><li>support NETCDF_DIM_time format as date time metadata <a href="https://github.com/EnMAP-Box/enmap-box/issues/251">#251</a></li></ul><h4>GUI</h4><ul><li>allow to open/import external sensor products like Landsat via drag&amp;drop of the products folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/124">#124</a></li><li>[Spectral Library View] use speclib default style  <a href="https://github.com/EnMAP-Box/enmap-box/issues/197">#197</a></li><li>allow to store project settings <a href="https://github.com/EnMAP-Box/enmap-box/issues/201">#201</a></li></ul><h4>Processing Algorithms</h4><ul><li>[Import EnMAP L2A product algorithm] add options for handling the detector overlap <a href="https://github.com/EnMAP-Box/enmap-box/issues/216">#216</a></li><li>[Raster math] improve temp-variable handling <a href="https://github.com/EnMAP-Box/enmap-box/issues/235">#235</a></li><li>[Regression-based unmixing] add option for sum of unmixing to 1 constraint <a href="https://github.com/EnMAP-Box/enmap-box/issues/239">#239</a></li><li>implement a simple and interactive 3D spectral data cube visualization <a href="https://github.com/EnMAP-Box/enmap-box/issues/272">#272</a></li><li>implement EMIT L2A sensor product import algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/278">#278</a></li><li>[Create spectral indices algorithm] result VRT shouldn't be dependent on _temp folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/292">#292</a></li></ul><h4>Miscellaneous</h4><ul><li>implement a MultipleRasterBandSelectionWidget <a href="https://github.com/EnMAP-Box/enmap-box/issues/180">#180</a></li><li>implement a Resource Gallery dev-tool <a href="https://github.com/EnMAP-Box/enmap-box/issues/193">#193</a></li><li>implement a custom BuildVrtStack function <a href="https://github.com/EnMAP-Box/enmap-box/issues/217">#217</a></li><li>Reporting <a href="https://github.com/EnMAP-Box/enmap-box/issues/258">#258</a></li><li>make typeguard optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/345">#345</a></li></ul><h3>Fixed Bugs</h3><ul><li>The setup for testing non-blocking-dependencies is gone. <a href="https://github.com/EnMAP-Box/enmap-box/issues/176">#176</a></li><li>CatBootRegressor issue <a href="https://github.com/EnMAP-Box/enmap-box/issues/189">#189</a></li><li>[Regression Workflow] TypeError: type of argument "meanAbsoluteError" must be either float or int <a href="https://github.com/EnMAP-Box/enmap-box/issues/190">#190</a></li><li>[Create classification dataset (from categorized vector layer with attribute table) algo] can't select vector table as input <a href="https://github.com/EnMAP-Box/enmap-box/issues/198">#198</a></li><li>[Raster Band Stacking] Toggle Selection is not working correctly <a href="https://github.com/EnMAP-Box/enmap-box/issues/208">#208</a></li><li>[GEE TSE] data is not scaled before index calculation <a href="https://github.com/EnMAP-Box/enmap-box/issues/210">#210</a></li><li>[Raster Layer Styling] error when changing from multiband to singleband raster <a href="https://github.com/EnMAP-Box/enmap-box/issues/213">#213</a></li><li>[Sensor Product Import] cancelling the import algo will still open the metadata file <a href="https://github.com/EnMAP-Box/enmap-box/issues/214">#214</a></li><li>glossary links are missing in algorithm descriptions <a href="https://github.com/EnMAP-Box/enmap-box/issues/233">#233</a></li><li>[Raster math] using vector fields not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/236">#236</a></li><li>[GEE TSE] data stretch is not working in Composite Mode <a href="https://github.com/EnMAP-Box/enmap-box/issues/244">#244</a></li><li>[Profile Analytics] problem with layers that have no CRS set <a href="https://github.com/EnMAP-Box/enmap-box/issues/252">#252</a></li><li>[Temporal Raster Stack Controller] the toolbar button is toggeling all layers and not only the selected once <a href="https://github.com/EnMAP-Box/enmap-box/issues/254">#254</a></li><li>[Sensor Product Import] panel is not showing up in QGIS when clicking the toolbar button <a href="https://github.com/EnMAP-Box/enmap-box/issues/259">#259</a></li><li>improve EnMAP L2B product export to ENVI BSQ format <a href="https://github.com/EnMAP-Box/enmap-box/issues/267">#267</a></li><li>[S2 Product Import] Dataset Metadata is dropped in the stacking <a href="https://github.com/EnMAP-Box/enmap-box/issues/269">#269</a></li><li>[Spectral profile sources] Python error when selecting raster source <a href="https://github.com/EnMAP-Box/enmap-box/issues/275">#275</a></li><li>[Data Sources] Opening vector sources with multiple layers (e.g. GPKG) <a href="https://github.com/EnMAP-Box/enmap-box/issues/286">#286</a></li><li>ModuleNotFoundError: No module named 'enmapbox.settings' <a href="https://github.com/EnMAP-Box/enmap-box/issues/287">#287</a></li><li>[Sensor Product Import] wrong PRISMA algorithm is triggered <a href="https://github.com/EnMAP-Box/enmap-box/issues/289">#289</a></li><li>Spectral Convolution Savitsky-Golay Filter issue <a href="https://github.com/EnMAP-Box/enmap-box/issues/306">#306</a></li><li>[Save raster layer as] error when saving to temp-file <a href="https://github.com/EnMAP-Box/enmap-box/issues/310">#310</a></li><li>[Spectral View] when opening a library, the attribute table is shown, but the corresponding button isn't checked <a href="https://github.com/EnMAP-Box/enmap-box/issues/311">#311</a></li><li>[Spectral View] Save Edits is messing up attribute table values <a href="https://github.com/EnMAP-Box/enmap-box/issues/315">#315</a></li><li>Mac users: application "Soil applications --&gt;Ensomap" not available <a href="https://github.com/EnMAP-Box/enmap-box/issues/327">#327</a></li><li>TypeError: Subscripted generics cannot be used with class and instance checks <a href="https://github.com/EnMAP-Box/enmap-box/issues/330">#330</a></li><li>[Location Browser] error in case of no map view available <a href="https://github.com/EnMAP-Box/enmap-box/issues/335">#335</a></li><li>[GEE Time Series Explorer] panel is not showing up <a href="https://github.com/EnMAP-Box/enmap-box/issues/337">#337</a></li><li>[Sensor data import] EnMAP L1C data import fails  <a href="https://github.com/EnMAP-Box/enmap-box/issues/338">#338</a></li><li>[GEE Time Series Explorer] Collections don't load <a href="https://github.com/EnMAP-Box/enmap-box/issues/339">#339</a></li><li>[Create regression dataset (from continuous-valued vector layer and feature raster)] extent mismatch error <a href="https://github.com/EnMAP-Box/enmap-box/issues/341">#341</a></li><li>Missing packages after upgrading 3.11.1 to 3.12alpha7. <a href="https://github.com/EnMAP-Box/enmap-box/issues/351">#351</a></li><li>ModuleNotFoundError: No module named 'pkg_resources'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/357">#357</a></li><li>RasterReader fails to read wavelength and wavelength units from QML <a href="https://github.com/EnMAP-Box/enmap-box/issues/358">#358</a></li><li>[GEE TSE app] fix typo in collection <a href="https://github.com/EnMAP-Box/enmap-box/issues/364">#364</a></li><li>AttributeError: type object 'SensorProducts' has no attribute 'Enmap' <a href="https://github.com/EnMAP-Box/enmap-box/issues/365">#365</a></li><li>Several unit test errors <a href="https://github.com/EnMAP-Box/enmap-box/issues/366">#366</a></li><li>Moving Spectral Library view causes AttributeError: 'NoneType' object has no attribute 'moveDock'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/375">#375</a></li><li>syntax error within "Spectral Profiles Sources" window <a href="https://github.com/EnMAP-Box/enmap-box/issues/376">#376</a></li><li>AttributeError: 'NoneType' object has no attribute 'dataSources' <a href="https://github.com/EnMAP-Box/enmap-box/issues/377">#377</a></li><li>AttributeError: 'NoneType' object has no attribute 'floatDock' <a href="https://github.com/EnMAP-Box/enmap-box/issues/379">#379</a></li><li>[Location Browser app] cleanup old boundary layer from the data sources panel <a href="https://github.com/EnMAP-Box/enmap-box/issues/388">#388</a></li><li>[Import Sentinel-2 L2A product] data is not scaled between 0 and 1 <a href="https://github.com/EnMAP-Box/enmap-box/issues/391">#391</a></li><li>Problems with Spectral Viewer <a href="https://github.com/EnMAP-Box/enmap-box/issues/392">#392</a></li><li>Wrong GitHub clone URL <a href="https://github.com/EnMAP-Box/enmap-box/issues/393">#393</a></li><li>[Spectral View] raster layer renderer bar not shown for SingleBandPseudocolor renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/394">#394</a></li><li>[Data Sources] error when opening a vector layer in QGIS 3.30.0 <a href="https://github.com/EnMAP-Box/enmap-box/issues/396">#396</a></li><li>[Convex hull and continuum-removal] incorrect output for EnMAP L2A products <a href="https://github.com/EnMAP-Box/enmap-box/issues/397">#397</a></li><li>QGIS crashes when activating the EnMAP-Box plugin <a href="https://github.com/EnMAP-Box/enmap-box/issues/403">#403</a></li><li>"TypeError: 'NoneType' object is not subscriptable" when opening a saved project in QGIS <a href="https://github.com/EnMAP-Box/enmap-box/issues/414">#414</a></li><li>[QPS] SpectralLibrary class is deprecated, replace usages with SpectralLibraryUtils <a href="https://github.com/EnMAP-Box/enmap-box/issues/417">#417</a></li><li>[qps] Can not read HDF4 error while Box is not opened/used <a href="https://github.com/EnMAP-Box/enmap-box/issues/418">#418</a></li><li>[Spectral View] content of GeoJSON file not correctly recognized <a href="https://github.com/EnMAP-Box/enmap-box/issues/422">#422</a></li><li>several icons aren't available anymore <a href="https://github.com/EnMAP-Box/enmap-box/issues/429">#429</a></li><li>ValueError: unsupported data type: int64 <a href="https://github.com/EnMAP-Box/enmap-box/issues/433">#433</a></li><li>SpectralLibrary class was removed and replaced by QgsVectorLayer, which causes unittests to fail <a href="https://github.com/EnMAP-Box/enmap-box/issues/434">#434</a></li><li>PytestCollectionWarning: cannot collect test class 'TestCase' because it has a <strong>init</strong> constructor <a href="https://github.com/EnMAP-Box/enmap-box/issues/438">#438</a></li><li>OSError: [Errno 6] No such device or address, SensorProducts <a href="https://github.com/EnMAP-Box/enmap-box/issues/439">#439</a></li><li>TestClassFractionRenderer: sklearn.utils._param_validation.InvalidParameterError  <a href="https://github.com/EnMAP-Box/enmap-box/issues/440">#440</a></li><li>TypeError: type of argument "value" must be one of (int, str); got numpy.int64 instead <a href="https://github.com/EnMAP-Box/enmap-box/issues/448">#448</a></li><li>Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory() method  <a href="https://github.com/EnMAP-Box/enmap-box/issues/453">#453</a></li><li>Import Spectral Profiles -&gt; from Raster Layer dialog <a href="https://github.com/EnMAP-Box/enmap-box/issues/454">#454</a></li><li>Incorrect geocoding of PRISMA L2D data imported via Import dialog <a href="https://github.com/EnMAP-Box/enmap-box/issues/473">#473</a></li><li>Pixel Profile: Spectral Library Viewer does not open  <a href="https://github.com/EnMAP-Box/enmap-box/issues/488">#488</a></li><li>[Spectral resampling (to Landsat 4/5 TM)] resampling an EnMAP L2A to Landsat isn't working correctly <a href="https://github.com/EnMAP-Box/enmap-box/issues/490">#490</a></li><li>IndexError when trying to import PRISMA L2D  data <a href="https://github.com/EnMAP-Box/enmap-box/issues/497">#497</a></li><li>AttributeError: module 'numpy' has no attribute 'float' <a href="https://github.com/EnMAP-Box/enmap-box/issues/510">#510</a></li><li>TypeError: QgsMapToolAddFeature.<strong>init</strong>() got multiple values for argument 'mode' <a href="https://github.com/EnMAP-Box/enmap-box/issues/516">#516</a></li></ul><h2>Version 3.11 (2022-10-09)</h2><p><em>This release was tested under QGIS 3.26.</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>Interactive setting of bad bands in the Raster Layer Styling/Gray <a href="https://github.com/EnMAP-Box/enmap-box/issues/31">#31</a></li><li>support spatial profile plotting <a href="https://github.com/EnMAP-Box/enmap-box/issues/58">#58</a></li><li>add dual-band pseudocolor renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/70">#70</a></li><li>implement 3-band HSV color model renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/73">#73</a></li><li>implement 4-band CMYK color model renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/74">#74</a></li><li>[Bivariate Color Raster Renderer app] make upper-right color optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/77">#77</a></li><li>[Bivariate Color Raster Renderer app] add user defined min/max settings <a href="https://github.com/EnMAP-Box/enmap-box/issues/79">#79</a></li><li>implement a Profile Analytics app <a href="https://github.com/EnMAP-Box/enmap-box/issues/81">#81</a></li><li>implement RGB renderer with bands from multiple raster sources <a href="https://github.com/EnMAP-Box/enmap-box/issues/112">#112</a></li></ul><h4>Continuous Integration</h4><ul><li>Setup GH Action to check code styling  <a href="https://github.com/EnMAP-Box/enmap-box/issues/13">#13</a></li><li>Setup GH Actions to check unittests <a href="https://github.com/EnMAP-Box/enmap-box/issues/14">#14</a></li></ul><h4>Data / Metadata Model</h4><ul><li>allow human-readable JSON version of the PKL dataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/21">#21</a></li><li>support old FORCE v1.2 TSI format <a href="https://github.com/EnMAP-Box/enmap-box/issues/111">#111</a></li></ul><h4>Processing Algorithms</h4><ul><li>reimplement Reclassify app and algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/15">#15</a></li><li>[Spectral Index Optimizer algorithm] make it a core algo and overhaul <a href="https://github.com/EnMAP-Box/enmap-box/issues/19">#19</a></li></ul><h4>Miscellaneous</h4><ul><li>Application path not initialized <a href="https://github.com/EnMAP-Box/enmap-box/issues/4">#4</a></li><li>RasterReader wavelength fails with FORCE TSI images <a href="https://github.com/EnMAP-Box/enmap-box/issues/9">#9</a></li></ul><h3>Fixed Bugs</h3><ul><li>link extraction from glossary.rst is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/1">#1</a></li><li>temporal pixel profile from FORCE TSI raster not correctly displayed in SpectralView <a href="https://github.com/EnMAP-Box/enmap-box/issues/5">#5</a></li><li>several exampledata files are missing <a href="https://github.com/EnMAP-Box/enmap-box/issues/7">#7</a></li><li>fix DeprecationWarning: QgsMapLayer.saveDefaultStyle() is deprecated  message, success = layer.saveDefaultStyle() <a href="https://github.com/EnMAP-Box/enmap-box/issues/8">#8</a></li><li>'there is no matching overloaded signal' error on identify cursor location value <a href="https://github.com/EnMAP-Box/enmap-box/issues/12">#12</a></li><li>SVR errors <a href="https://github.com/EnMAP-Box/enmap-box/issues/18">#18</a></li><li>Color Space Explorer becomes unresponsive after using Decorrelation Stretch Renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/27">#27</a></li><li>Read and apply hdr field "default bands" if present for initial color composite display <a href="https://github.com/EnMAP-Box/enmap-box/issues/28">#28</a></li><li>Impossible to add created vector to a new/existing map via data source context menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/32">#32</a></li><li>Attribute form doesn't appears on EnMAP-Box map <a href="https://github.com/EnMAP-Box/enmap-box/issues/33">#33</a></li><li>[Data source tree] GEE Data Catalog Plugin color composition doesn't work <a href="https://github.com/EnMAP-Box/enmap-box/issues/34">#34</a></li><li>Sample raster layer values error : "TypeError: type of argument "coverageMin" must be int; got float instead" <a href="https://github.com/EnMAP-Box/enmap-box/issues/35">#35</a></li><li>dropping a Sentinel-2 product into the MapView area isn't triggering the correct import algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/42">#42</a></li><li>Replace or remove user specific / local file paths <a href="https://github.com/EnMAP-Box/enmap-box/issues/45">#45</a></li><li>RasterReader: undefined name Qgis <a href="https://github.com/EnMAP-Box/enmap-box/issues/46">#46</a></li><li>Error mouse move? <a href="https://github.com/EnMAP-Box/enmap-box/issues/50">#50</a></li><li>Drag&amp;drop EnMAP-Box source to QGIS will open the source twice <a href="https://github.com/EnMAP-Box/enmap-box/issues/60">#60</a></li><li>[GEE TSE app] change from S2_SR collection to S2_SR_HARMONIZED <a href="https://github.com/EnMAP-Box/enmap-box/issues/64">#64</a></li><li>bad behaviour when dropping a raster layer on a map view that has no default style  <a href="https://github.com/EnMAP-Box/enmap-box/issues/80">#80</a></li><li>[Spectral Profile Sources panel] using Source = "Last raster layer" not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/83">#83</a></li><li>SpectralProfile widget type is shown twice <a href="https://github.com/EnMAP-Box/enmap-box/issues/86">#86</a></li><li>Process <code>ApplyMaskLayerToRasterLayer</code> fails with an <code>AttributeError</code> <a href="https://github.com/EnMAP-Box/enmap-box/issues/87">#87</a></li><li>SpatialPoint.toPixelPosition is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/88">#88</a></li><li>Raster Math error <a href="https://github.com/EnMAP-Box/enmap-box/issues/92">#92</a></li><li>[Apply mask layer to raster layer] cannot convert float NaN to integer <a href="https://github.com/EnMAP-Box/enmap-box/issues/95">#95</a></li><li>[Raster layer styling panel] Remove style for defaut wms <a href="https://github.com/EnMAP-Box/enmap-box/issues/96">#96</a></li><li>incorrect symbol in plot style widget <a href="https://github.com/EnMAP-Box/enmap-box/issues/97">#97</a></li><li>dropping PRISMA product into EnMAP-Box is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/100">#100</a></li><li>[EnGeoMAP] GUI does not start <a href="https://github.com/EnMAP-Box/enmap-box/issues/101">#101</a></li><li>ModuleNotFoundError: No module named 'geetimeseriesexplorerapp'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/105">#105</a></li><li>Blank red band when adding multiband raster layer in default colors (RGB) <a href="https://github.com/EnMAP-Box/enmap-box/issues/106">#106</a></li><li>Missing test or example files <a href="https://github.com/EnMAP-Box/enmap-box/issues/110">#110</a></li><li>[Processing] scipy ndimage filters "layers were not correctly generated" <a href="https://github.com/EnMAP-Box/enmap-box/issues/116">#116</a></li><li>[Processing] Stack raster layers - 'RasterWriter' object has no attribute 'removeMetadata' <a href="https://github.com/EnMAP-Box/enmap-box/issues/117">#117</a></li><li>[Classification layer accuracy report] TypeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/120">#120</a></li><li>[Create RGB from Class Probabilitiy / Fraction Layer algo] RuntimeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/133">#133</a></li><li>Error in "Class fraction layer from categorized vector layer"  <a href="https://github.com/EnMAP-Box/enmap-box/issues/135">#135</a></li><li>[About window] Licence "File not found" <a href="https://github.com/EnMAP-Box/enmap-box/issues/136">#136</a></li><li>[Processing toolbox] Debugging algo in list <a href="https://github.com/EnMAP-Box/enmap-box/issues/139">#139</a></li><li>[HSV Renderer] displayed image is all black <a href="https://github.com/EnMAP-Box/enmap-box/issues/140">#140</a></li><li>QgsMapLayer menus are not created in case of ModuleNotFound exceptions in sub-applications <a href="https://github.com/EnMAP-Box/enmap-box/issues/143">#143</a></li><li>[GDAL Metadata] editing metadata is broken (ENVI files only) <a href="https://github.com/EnMAP-Box/enmap-box/issues/147">#147</a></li><li>remove "float" button for already floating views <a href="https://github.com/EnMAP-Box/enmap-box/issues/157">#157</a></li><li>[Save raster layer as algo] fix algo description <a href="https://github.com/EnMAP-Box/enmap-box/issues/168">#168</a></li><li>Create classification dataset (from categorized vector layer and feature raster) error <a href="https://github.com/EnMAP-Box/enmap-box/issues/177">#177</a></li><li>location map tool is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/242">#242</a></li><li>[Map View] 'QgsPointXY' object has no attribute 'toCrs' <a href="https://github.com/EnMAP-Box/enmap-box/issues/243">#243</a></li><li>[GEE Time Series Explorer] fix problem with STAC format changes <a href="https://github.com/EnMAP-Box/enmap-box/issues/283">#283</a></li><li>netCDF4 requirement blocks main GUI <a href="https://github.com/EnMAP-Box/enmap-box/issues/401">#401</a></li></ul>