Граф коммитов

429 Коммитов

Автор SHA1 Сообщение Дата
Peter Williams 01e3b02df5 docs: update API docs 2021-09-17 13:41:40 -04:00
Peter Williams 4715aaa822 toasty/study.py: correct study tiling into FITS
If we're tiling into FITS format, we have to emulate the funkiness in
the multi-WCS and multi-TAN processors: the data buffers for the
individual tiles need to be flipped vertically. So, copy-paste the code
to do that.
2021-09-17 13:38:09 -04:00
Peter Williams 2bc6ddbd81 toasty/builder.py: provide better study tiling API
It's helpful to split the study tiling operation into two steps,
preparation and execution, because (1) you can only correctly apply WCS
information after preparation and (2) it's nice to check that the WCS is
all set up correctly before spending the time on the execution step. Here
we add some new APIs to Builder and use them in tile-study

We also improve tile-study to ensure that its image has negative
(JPEG-like) parity, which is required for WWT studies.
2021-09-17 13:35:32 -04:00
Peter Williams bf509529fe
Merge pull request #60 from pkgw/misc-fixes
Miscellaneous fixes
2021-09-09 23:32:02 -04:00
Peter Williams 2aec180d02 README.md: updates 2021-09-09 23:25:23 -04:00
Peter Williams 7c61165ce8 setup.py: require astropy for docs build
This should fix the ReadTheDocs docs.
2021-09-09 23:23:08 -04:00
Peter Williams 92b9f45670
Merge pull request #59 from pkgw/check-avm
Add check-avm and AVM mode to tile-study
2021-09-09 23:08:52 -04:00
Peter Williams 29444f6b43 Add another AVM test variation 2021-09-09 22:53:05 -04:00
Peter Williams d85adb56bb Workaround AVM test different on macOS 2021-09-09 22:43:34 -04:00
Peter Williams 02be9d4377 Robustify the AVM test infrastructure a bit 2021-09-09 22:31:51 -04:00
Peter Williams 174aa9e749 Add `--avm` option to `toasty tile-study`
In an ideal world, we'd just automatically detect AVM and Do The Right
Thing, but not a lot of people are necessarily going to have pyavm
installed and we don't necessarily want to require it.

Part of this is making the decision to just unilaterally invert the
parity of the WCS that pyavm hands us based on the AVM data. From the
files that I've seen in the wild, this looks to be the correct thing to
do.
2021-09-09 22:19:03 -04:00
Peter Williams 2ffd0a995d toasty/multi_wcs.py: block warnings when deserializing WCS
This was accidentally removed in the rework to handle very large files.
2021-09-09 21:48:01 -04:00
Peter Williams 8c3fe9b233 Add `toasty check-avm`
A quick utility command to check whether an image contains AVM metadata, and
optionally dump out those data.
2021-09-08 17:08:13 -04:00
Peter Williams 2a238a7d44
Merge pull request #58 from pkgw/issue-56
toasty/builder.py: fix WWTL tiling
2021-09-08 14:05:03 -04:00
Peter Williams cd0b3f4cef toasty/builder.py: fix WWTL tiling
With some of the Builder rearrangements, we weren't properly
reinitializing the data structures anymore.

Closes #56.
2021-09-08 09:47:41 -04:00
Peter Williams 37b5626607
Merge pull request #57 from pkgw/fits-maxmin
Various FITS processing improvements
2021-09-07 11:15:41 -04:00
Peter Williams 00ff16048e toasty/multi_wcs.py: reproject images in chunks
The reproject package is pretty memory-hungry, and for large images I
find that it can get killed for memory overuse pretty easily. Here we
mitigate that by reprojecting large images in horizontal bands, AKA
"chunks". This can reduce the memory consumption significantly, and for
small images the behavior is equivalent to what we had before.
2021-09-03 17:42:46 -04:00
Peter Williams eb04f35e2a toasty/collection.py: add a mechanism for manual bad-data values 2021-09-03 12:18:32 -04:00
Peter Williams 4085733c80 toasty/image.py: prevent more annoying warnings with all-NaN data 2021-09-03 12:17:07 -04:00
Peter Williams 125e037027 toasty/collection.py: have SimpleFitsCollection work with naxis != 2
Some FITS files have additional axes of size 1. We can work with them just fine, but we need
to strip out the non-celestial axes to make the rest of our machinery happy.
2021-09-01 16:57:39 -04:00
Peter Williams b8a92c9a4f toasty/image.py: write out DATAMAX/DATAMIN with each FITS tile
Since tiles aren't big, we know it's not too slow to do the min/max operations.
2021-09-01 16:56:32 -04:00
Peter Williams 342155bd0b
Merge pull request #55 from astrodavid10/master
add tile-allsky --projection=plate-carree-panorama
2021-08-25 10:15:43 -04:00
A. David Weigel b83069c8a0
Update tile-allsky.rst 2021-08-25 00:10:19 -05:00
A. David Weigel 617ab57aae
Update builder.py 2021-08-25 00:04:59 -05:00
A. David Weigel 567a18b24a
Update cli.py 2021-08-25 00:04:16 -05:00
Peter Williams d667e3e525
Merge pull request #54 from pkgw/add-wwtl-name
tile-wwtl: add a --name argument as supported in other similar commands
2021-08-19 16:36:11 -04:00
Peter Williams b5eaf8010d tile-wwtl: add a --name argument as supported in other similar commands
Closes #53.
2021-08-19 16:14:40 -04:00
Peter Williams 39123d6df5 ci/azure-deployment.yml: fix Python publication
There's a recent change that causes a failure when the -u shell option
is turned on.
2021-08-06 15:10:07 -04:00
Peter Williams 055969ca41
Merge pull request #52 from pkgw/multi-tan
Generate proper tiled FITS datasets
2021-08-06 11:32:02 -04:00
Peter Williams b391922a66 Attempt to fix up docs CI build 2021-08-06 10:45:02 -04:00
Peter Williams 2445a858d6 toasty/multi_tan.py: add a simple parallel implementation
On my HSC test case, this makes things about 60% faster at 16x parallelism -- not
exactly linear scaling, but not bad either.
2021-08-05 19:29:26 -04:00
Peter Williams 3431bebd91 toasty/collection.py: add RubinDirectoryCollection for my LSST simulation data 2021-08-05 19:06:18 -04:00
Peter Williams 61d274d08e toasty/multi_wcs.py: update to use collections and proper parity-awareness 2021-08-05 15:25:11 -04:00
Peter Williams 408c92750f toasty/image.py: bugfix for missing PCi_i
Looks like the WCS header export will omit the on-diagonal terms if they're
unity. No big deal.
2021-08-05 13:51:59 -04:00
Peter Williams adf1fe07db toasty/multi_tan.py: completely revamp
Haven't touched this code in a while, but WWT can now display tiled FITS
so we're about to use it a lot more! The new code has to be careful
about the parities of FITS vs. tilings but I believe that we're doing
that all correctly now. We now also emit WTML using the standard
framework and otherwise modernize this code.

No parallel implementation yet, just trying to tidy up the serial
approach first.
2021-08-04 21:32:48 -04:00
Peter Williams eb3b95cc55 toasty/builder.py: standardize initialization of the imageset URL and file_type 2021-08-04 21:05:19 -04:00
Peter Williams 10679ca33f toasty/image.py: add parity-related operations
And also the ImageDescription class that was referenced in the
new "collection" module a few commits ago. I don't love the code
duplication here.
2021-08-04 17:08:23 -04:00
Peter Williams 7be88f3147 toasty/merge.py: prepare for FITS cascading
To render tiled FITS, things are a bit awkward because the individual
FITS files are rendered by WWT assuming a bottoms-up (positive parity)
data layout, but the overall tiling coordinate system is still top-down.
If you work through the geometry, the cascade process can be nearly
identical for both this case and the case where the tiles are also
top-down: all you need to change is to reorder the vertical stacking in
the cascade process. So, do that. In order for this to work, we need to
add some infrastructure to "know" the expected vertical data layout of
the pyramid tiles.
2021-08-04 16:55:30 -04:00
Peter Williams 40a66b00fd docs/api: updates from recent work 2021-08-04 16:50:25 -04:00
Peter Williams a3b4856a16 toasty/collection.py: start sketching out an image-collection framework 2021-08-04 16:49:45 -04:00
Peter Williams 935611898e toasty/builder.py: expose WTML folder creation as a standalone operation 2021-08-04 14:02:04 -04:00
Peter Williams e4a2e96bed toasty/builder.py: try to prevent out-of-order WCS'ing
If you apply WCS info before setting up the imageset tiling parameters,
the info will be wrong. Add some checks to try and catch this. These
also revealed that tile-wwtl was doing the tiling twice!
2021-08-04 13:57:33 -04:00
Peter Williams 7100d4bf3d Update for better parity handling in wwt_data_formats 0.10
In wwt_data_formats 0.10 we'll fix up our WCS processing to correctly
deal with different image parities. This exposes the fact that AstroPix
and Djangoplicity are returning data that, if interpreted directly into
WCS, are a bit wrong. Here we account for that. More work will need to
be done to tighten up the parity handling in toasty overall.
2021-08-04 13:57:33 -04:00
Peter Williams c857105fa1
Merge pull request #51 from pkgw/pipeline-ignore-rejects
pipeline: add ignore-rejects command
2021-08-04 10:37:55 -04:00
Peter Williams 72f11721d1 pipeline: add ignore-rejects command
We had a mechanism to have certain images be marked as ignored, but
there wasn't a way for users to do any marking! This new command can
mark all rejected images to be ignored in the future.
2021-08-04 10:17:40 -04:00
Peter Williams 19a082d7ec
Merge pull request #50 from pkgw/fits-fixing
Fixes for tiled FITS
2021-07-30 13:21:08 -04:00
Peter Williams be3c5e74fa toasty/image.py: fix some FITS header logic 2021-06-14 15:59:00 -04:00
Peter Williams e9891e4efd
Merge pull request #48 from pkgw/add-fasttract
README.md: mention the latest NSF grant
2021-04-01 10:49:16 -04:00
Peter Williams e674879fb7 README.md: mention the latest NSF grant 2021-04-01 10:38:15 -04:00
Peter Williams 90ace2f87e
Merge pull request #46 from pkgw/windows-globs
Support glob arguments on Windows
2021-02-08 22:21:46 -05:00