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

Refactor VaryingCelestialTransform models #344

Merged
merged 32 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
a3fc2da
Cache transform_at_index to reduce number of calls
SolarDrew Mar 7, 2024
1e88f28
Generalise base vct _map_transform to work for mulitple dimensions
SolarDrew Mar 7, 2024
f8b7b46
Skip _map_transform in 2D and 3D vct to let base class handle it
SolarDrew Mar 7, 2024
915a34e
Useful print out, remember to remove later
SolarDrew Mar 8, 2024
99a82bb
Make transform_at_index not cache again because it makes the answers
SolarDrew Mar 8, 2024
10b6495
Tidy unneeded classes
SolarDrew Mar 8, 2024
2b34bf8
Move evaluate method into base class and generalise
SolarDrew Mar 8, 2024
d1cec93
Move input_units property into base class
SolarDrew Mar 8, 2024
7e2c5f7
Move init into base class
SolarDrew Mar 8, 2024
2578797
Test changes to make them pass with slightly different error message
SolarDrew Mar 8, 2024
ff7d727
Apply suggestions from code review
Cadair Mar 8, 2024
af25964
Merge branch 'main' into profiling
Cadair Mar 8, 2024
38d7658
Apply suggestions from code review
Cadair Mar 8, 2024
1f82c67
Move inverse stuff into base class
SolarDrew Mar 11, 2024
95b4982
Merge branch 'profiling' of github.com:SolarDrew/dkist into profiling
SolarDrew Mar 11, 2024
d64af2c
Tidying
SolarDrew Mar 11, 2024
19a0204
Move last bits into BaseVaryingCelestialTransform and rename it
SolarDrew Mar 14, 2024
a650dec
Remove/update references to removed classes
SolarDrew Mar 14, 2024
87fc0b0
Shape error can never actually be triggered now n_inputs is automatic
SolarDrew Mar 14, 2024
7aa684a
Split VaryingCelestialTransform?D back out into separate classes
SolarDrew Mar 18, 2024
4cccec4
Need this again after all
SolarDrew Mar 18, 2024
40a168a
Fix inverse preservation on yaml export and some tidying
SolarDrew Mar 18, 2024
31cf57f
Limit gwcs version to 0.20.0 to make the tests pass
SolarDrew Mar 21, 2024
d7f2887
Add changelog
SolarDrew Mar 21, 2024
caecaa5
Merge branch 'main' of github.com:DKISTDC/dkist into profiling
SolarDrew Mar 21, 2024
37d3a67
Revert "Limit gwcs version to 0.20.0 to make the tests pass"
SolarDrew Mar 22, 2024
b140961
Merge branch 'main' of github.com:DKISTDC/dkist into profiling
SolarDrew Mar 22, 2024
4eb7cda
Bring back inverse classes
SolarDrew Mar 22, 2024
d19dc50
Need to change the yaml converter back again as well
SolarDrew Mar 22, 2024
16d9563
Fix tests
SolarDrew Mar 25, 2024
dfdd738
Put some more things back
SolarDrew Mar 25, 2024
c101962
Turns out having inverses of inverses breaks the world
SolarDrew Mar 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog/344.trivial.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Refactor various subclasses of VaryingCelestialTransform to centralise the calculations in preparation for improving performance.
20 changes: 2 additions & 18 deletions dkist/io/asdf/converters/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,9 @@ class VaryingCelestialConverter(TransformConverterBase):
]

def select_tag(self, obj, tags, ctx):
from dkist.wcs.models import (InverseVaryingCelestialTransform,
InverseVaryingCelestialTransform2D,
InverseVaryingCelestialTransform3D,
VaryingCelestialTransform, VaryingCelestialTransform2D,
VaryingCelestialTransform3D)

if isinstance(
obj,
(VaryingCelestialTransform,
VaryingCelestialTransform2D,
VaryingCelestialTransform3D)
):
if not obj._is_inverse:
return "asdf://dkist.nso.edu/tags/varying_celestial_transform-1.1.0"
elif isinstance(
obj,
(InverseVaryingCelestialTransform,
InverseVaryingCelestialTransform2D,
InverseVaryingCelestialTransform3D)
):
elif obj._is_inverse:
return "asdf://dkist.nso.edu/tags/inverse_varying_celestial_transform-1.1.0"
else:
raise ValueError(f"Unsupported object: {obj}") # pragma: no cover
Expand Down
Loading
Loading