From 8e208ffc8fa498103fa399a4d04d52e64dada193 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Sep 2022 20:29:53 +0000 Subject: [PATCH 1/9] build(deps): bump spotbugs-maven-plugin from 4.7.1.1 to 4.7.2.0 Bumps [spotbugs-maven-plugin](https://github.com/spotbugs/spotbugs-maven-plugin) from 4.7.1.1 to 4.7.2.0. - [Release notes](https://github.com/spotbugs/spotbugs-maven-plugin/releases) - [Commits](https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-4.7.1.1...spotbugs-maven-plugin-4.7.2.0) --- updated-dependencies: - dependency-name: com.github.spotbugs:spotbugs-maven-plugin dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 37968fb851..704587663b 100644 --- a/pom.xml +++ b/pom.xml @@ -410,7 +410,7 @@ com.github.spotbugs spotbugs-maven-plugin - 4.7.1.1 + 4.7.2.0 @@ -571,7 +571,7 @@ com.github.spotbugs spotbugs-maven-plugin - 4.7.1.1 + 4.7.2.0 From c12ea7e10295ec7284f3aefd3ac79d239517e75d Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Sun, 4 Sep 2022 20:51:01 +0200 Subject: [PATCH 2/9] 1.17.0-rc4 --- codecov.yml | 2 +- pom.xml | 2 +- release-HOWTO.md | 2 +- src/changes/changes.xml | 22 ++++++++++++++-------- src/site/markdown/index.md | 8 ++++---- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/codecov.yml b/codecov.yml index 0a7ee1585c..70eb775d95 100644 --- a/codecov.yml +++ b/codecov.yml @@ -4,7 +4,7 @@ codecov: coverage: precision: 2 round: down - range: "90...100" + range: "80...100" status: patch: off diff --git a/pom.xml b/pom.xml index 704587663b..347a70d427 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ gov.nasa.gsfc.heasarc nom-tam-fits - 1.17.0-SNAPSHOT + 1.17.0-rc4 jar nom.tam FITS library Java library for reading and writing FITS files. FITS, the Flexible Image Transport System, is the format commonly used in the archiving and transport of astronomical data. diff --git a/release-HOWTO.md b/release-HOWTO.md index eb038d7eb6..6f31ff0017 100644 --- a/release-HOWTO.md +++ b/release-HOWTO.md @@ -42,7 +42,7 @@ Once you are confident that everything is in perfect order for the next release, * Sleep on it. So far so good, but this is also you last chance to fix anything before the package really goes public, so don't rush it. Take some time to reflect on it, double or triple-check everything, before moving to the next step... * On Github, click on _Releases_, and create a new release: - - Name and tag the release with `nom-tam-fits-` followed by the version, such as `nom-tam-fits-1.17.0-rc1`. + - Name and tag the release with by the version, such as `1.17.0-rc1` (Note, before 1.17.0 the tag included a 'nom-tam-fits-' prefix as well, which resulted in source tarballs named as nom-tam-fits-nom-tam-fits- -- therefore starting with 1.17.0 we'll omit that). - Link the release to the last master commit of the repo. - If it is not a final release, be sure to check the box for _pre-release_ near the bottom (when checked the CI will not publish a Github package for this release). - Write up a summary of what's in the release. It can be a digested version of the changes, or some other concise summary. diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 7620c121f0..23b7c102a5 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -1,13 +1,16 @@ - + Generalized tile compression for any-dimensional images based on the FITSIO convention. Fixed broken tile compression of non-square images. + + CompressedImageHDU.fromInageHDU() now defaults to tiling by row if tile size is not explicitly specified, as per FITS specification and also for consistent behavior in higher dimensions. + Safe incremental HDU writing via new FitsOutput interface, which is used to check whether HDUs should be set primary or not depending on where it is located in the output. @@ -15,25 +18,28 @@ Simpler, faster, and more versatile FitsChecksum class, with support for incremental checksum updates, checksum retrieval, and checksum computations directly from files. + + New checksumming methods: BasicHDU.calcChecksum(), .setChecksum(), .getStoredChecksum(), and .getStoredDataSum(); Data.calcChecksum(); Fits.calcChecksum(int) and .setChecksum(int) -- as well as an extended static API for `FitsCheckSum`. + Checksum in-memory headers/data with less overhead through piped streams. - Fits.setChecksum() and calcChecksum(int) compute checksum directly from the file, if possible, for - deferred read data (i.e. data not currently loaded into RAM). This eliminates the need to load - potentially huge data volumes into RAM when computing or updating checksums in an existing FITS file. + Fits.setChecksum(), .setCheckSum(int), and .calcChecksum(int) compute checksum directly from the file, if possible, for + deferred read data (i.e. data not currently loaded into RAM). This eliminates the need to keep + potentially huge data volumes in RAM when computing or updating checksums in an existing FITS file. - Fits.setChecksum() will now checksum any HDUs not already loaded from disk without loading data into memory + Fits.setChecksum() will now checksum all HDUs, including those not already loaded from disk without loading data into memory (in deferred read mode) if possible. Added Fits.rewrite() to simplify re-writing the entire Fits objects, e.g. after updating checksums. The - implementation is efficient by not processing any data segments in deferred read mode. BasicHDU.rewrite() + implementation is efficient in that it skips data segments in deferred read mode. BasicHDU.rewrite() is modified to make it efficient also. - User adjustable header comment alignment position via Header.setCommentAlignPosition(int). + User adjustable header comment alignment position via Header.setCommentAlignPosition(int) and checking via .getCommentAlignPosition(). New Fits.getHDU() methods to select HDU from Fits by name (and version). @@ -43,7 +49,7 @@ controlled via Header.setParserWarningsEnabled(boolean). - Suppress repeated duplicate keyword warnings when parsing and improve checks for FITS standard violations. + Suppress repeated duplicate keyword warnings when parsing and improve checks for FITS standard violations. Added Header.getDuplicateKeySet() method to check which keywords have duplicates. Replacing header keys logs a warning when existing value type is incompatible wth the newly associated diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md index 5ddc963316..53ed387677 100644 --- a/src/site/markdown/index.md +++ b/src/site/markdown/index.md @@ -899,12 +899,12 @@ As of version 1.17, it is also possible to apply incremental updates to existing Setting the checksums (`CHECKSUM` and `DATASUM` keywords) should be the last modification to the FITS object or HDU before writing. Here is an example of settting a checksum for an HDU before you write it to disk: ```java - ImageHDU im; + BasicHDU hdu; - // ... prepare the image and header ... + // ... prepare the HDU and header ... - im.setChecksum(); - im.write(new FitsFile("my-checksummed-image.fits")); + hdu.setChecksum(); + hdu.write(new FitsFile("my-checksummed-image.fits")); ``` Or you can set checksums for all HDUs in your `Fits` in one go before writing the entire `Fits` object out to disk: From 5bc05cef999310b207cfdb26d883748c8ca6cbd6 Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Mon, 5 Sep 2022 22:17:04 +0200 Subject: [PATCH 3/9] pom: back to SNAPSHOT --- pom.xml | 2 +- src/changes/changes.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 347a70d427..704587663b 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ gov.nasa.gsfc.heasarc nom-tam-fits - 1.17.0-rc4 + 1.17.0-SNAPSHOT jar nom.tam FITS library Java library for reading and writing FITS files. FITS, the Flexible Image Transport System, is the format commonly used in the archiving and transport of astronomical data. diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 23b7c102a5..bddc08aad2 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -1,7 +1,7 @@ - + Generalized tile compression for any-dimensional images based on the FITSIO convention. @@ -30,8 +30,8 @@ potentially huge data volumes in RAM when computing or updating checksums in an existing FITS file. - Fits.setChecksum() will now checksum all HDUs, including those not already loaded from disk without loading data into memory - (in deferred read mode) if possible. + Fits.setChecksum() will now checksum all HDUs, including those not already loaded from disk -- + keeping data in deferred read mode if possible. Added Fits.rewrite() to simplify re-writing the entire Fits objects, e.g. after updating checksums. The From 52014201353983542cd12852249a802f07157a37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Sep 2022 20:19:18 +0000 Subject: [PATCH 4/9] build(deps): bump maven-pmd-plugin from 3.18.0 to 3.19.0 Bumps [maven-pmd-plugin](https://github.com/apache/maven-pmd-plugin) from 3.18.0 to 3.19.0. - [Release notes](https://github.com/apache/maven-pmd-plugin/releases) - [Commits](https://github.com/apache/maven-pmd-plugin/compare/maven-pmd-plugin-3.18.0...maven-pmd-plugin-3.19.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-pmd-plugin dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 704587663b..4bbfb7299a 100644 --- a/pom.xml +++ b/pom.xml @@ -554,7 +554,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.18.0 + 3.19.0 true UTF-8 From 13441d4851e4e127cbc677eadcc3a55000cd777d Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Sun, 11 Sep 2022 10:41:33 +0200 Subject: [PATCH 5/9] 1.17.0 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4bbfb7299a..8980aef42f 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ gov.nasa.gsfc.heasarc nom-tam-fits - 1.17.0-SNAPSHOT + 1.17.0 jar nom.tam FITS library Java library for reading and writing FITS files. FITS, the Flexible Image Transport System, is the format commonly used in the archiving and transport of astronomical data. From df0cc360834930b040d063b0f92c79a3d57aa3a7 Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Mon, 12 Sep 2022 23:00:32 +0200 Subject: [PATCH 6/9] Back to SNAPSHOT until the next release... --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8980aef42f..1d569919da 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ gov.nasa.gsfc.heasarc nom-tam-fits - 1.17.0 + 1.17.1-SNAPSHOT jar nom.tam FITS library Java library for reading and writing FITS files. FITS, the Flexible Image Transport System, is the format commonly used in the archiving and transport of astronomical data. From e69819b568f9eb43ab4eb46a6c49525afb8d1039 Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Mon, 6 Mar 2023 19:48:35 +0100 Subject: [PATCH 7/9] Try fix site build by removing tinyjee.dim plugin --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 137e6648f3..7b0a0de1dd 100644 --- a/pom.xml +++ b/pom.xml @@ -286,11 +286,13 @@ wagon-ssh 3.5.3 + org.apache.maven.doxia doxia-module-markdown From cf9d1473fdc8ad4334fb133391111115875fc186 Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Mon, 6 Mar 2023 19:55:43 +0100 Subject: [PATCH 8/9] Attempt #2 to fix CI site build (works locally) --- pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pom.xml b/pom.xml index 7b0a0de1dd..c1fd2924c4 100644 --- a/pom.xml +++ b/pom.xml @@ -259,6 +259,7 @@ false + org.apache.maven.plugins maven-site-plugin From 3ac66465188219fc1f91a7b0178ed3ff8eaa238a Mon Sep 17 00:00:00 2001 From: Attila Kovacs Date: Mon, 6 Mar 2023 19:58:34 +0100 Subject: [PATCH 9/9] pom.xml: delete commented out code for CI site build fix. --- pom.xml | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/pom.xml b/pom.xml index c1fd2924c4..9f5764a1e2 100644 --- a/pom.xml +++ b/pom.xml @@ -259,22 +259,6 @@ false - org.apache.maven.plugins maven-site-plugin @@ -288,13 +272,6 @@ wagon-ssh 3.5.3 - org.apache.maven.doxia doxia-module-markdown