Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
16 changes: 16 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,24 @@ jobs:
distribution: corretto
cache: maven

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.12'

- name: Install reference file generator requirements
run: |
pip install -r test-requirements.txt

- name: Locate Python
id: locate-python
run:
echo "python-path=`which python`" >> "$GITHUB_OUTPUT"

- name: Execute tests
run: mvn clean verify
env:
GWCS_JAVA_TESTS_PYTHON_PATH: ${{ steps.locate-python.outputs.python-path }}

- name: Add code coverage PR comment
uses: madrapps/jacoco-report@v1.7.2
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
<maven.compiler.release>11</maven.compiler.release>
<revision>dev</revision>
<lombok.version>1.18.36</lombok.version>
<asdf.version>0.1-alpha-8</asdf.version>
<asdf.version>0.1-beta-1</asdf.version>
<ejml.version>0.44.0</ejml.version>
<maven-clean-plugin.version>3.4.0</maven-clean-plugin.version>
<flatten-maven-plugin.version>1.7.0</flatten-maven-plugin.version>
Expand Down
25 changes: 23 additions & 2 deletions src/main/java/edu/stsci/gwcs/asdf/converter/AsdfNodeUtils.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package edu.stsci.gwcs.asdf.converter;

import org.asdfformat.asdf.ndarray.DoubleNdArray;
import org.asdfformat.asdf.node.AsdfNode;

import java.util.List;
Expand All @@ -14,7 +15,17 @@ public static String[] readStringArray(final AsdfNode node, final String key) {
}

public static int[] readIntArray(final AsdfNode node, final String key) {
final List<Integer> list = node.getList(key, Integer.class);
final AsdfNode child = node.get(key);
if (child.isNdArray()) {
final DoubleNdArray ndArray = child.asNdArray().asDoubleNdArray();
final int length = ndArray.getShape().get(0);
final int[] result = new int[length];
for (int i = 0; i < length; i++) {
result[i] = (int) ndArray.get(i);
}
return result;
}
final List<Integer> list = child.asList(Integer.class);
final int[] result = new int[list.size()];
for (int i = 0; i < result.length; i++) {
result[i] = list.get(i);
Expand All @@ -23,7 +34,17 @@ public static int[] readIntArray(final AsdfNode node, final String key) {
}

public static double[] readDoubleArray(final AsdfNode node, final String key) {
final List<Double> list = node.getList(key, Double.class);
final AsdfNode child = node.get(key);
if (child.isNdArray()) {
final DoubleNdArray ndArray = child.asNdArray().asDoubleNdArray();
final int length = ndArray.getShape().get(0);
final double[] result = new double[length];
for (int i = 0; i < length; i++) {
result[i] = ndArray.get(i);
}
return result;
}
final List<Double> list = child.asList(Double.class);
final double[] result = new double[list.size()];
for (int i = 0; i < result.length; i++) {
result[i] = list.get(i);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
public class StepConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:gwcs/step-1.1.0",
"tag:stsci.edu:gwcs/step-1.2.0",
"tag:stsci.edu:gwcs/step-1.3.0"
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
public class WcsConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:gwcs/wcs-1.2.0",
"tag:stsci.edu:gwcs/wcs-1.3.0",
"tag:stsci.edu:gwcs/wcs-1.4.0"
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
public class CelestialFrameConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:gwcs/celestial_frame-1.0.0",
"tag:stsci.edu:gwcs/celestial_frame-1.1.0",
"tag:stsci.edu:gwcs/celestial_frame-1.2.0"
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
public class Frame2DConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:gwcs/frame2d-1.0.0",
"tag:stsci.edu:gwcs/frame2d-1.1.0",
"tag:stsci.edu:gwcs/frame2d-1.2.0"
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
public class ConstantConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/constant-1.4.0",
"tag:stsci.edu:asdf/transform/constant-1.5.0"
"tag:stsci.edu:asdf/transform/constant-1.5.0",
"tag:stsci.edu:asdf/transform/constant-1.6.0"
);

public ConstantConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
public class IdentityConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/identity-1.2.0",
"tag:stsci.edu:asdf/transform/identity-1.3.0"
"tag:stsci.edu:asdf/transform/identity-1.3.0",
"tag:stsci.edu:asdf/transform/identity-1.4.0"
);

public IdentityConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
public class RemapAxesConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/remap_axes-1.3.0",
"tag:stsci.edu:asdf/transform/remap_axes-1.4.0"
"tag:stsci.edu:asdf/transform/remap_axes-1.4.0",
"tag:stsci.edu:asdf/transform/remap_axes-1.5.0"
);

public RemapAxesConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class AddConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/add-1.2.0",
"tag:stsci.edu:asdf/transform/add-1.3.0"
"tag:stsci.edu:asdf/transform/add-1.3.0",
"tag:stsci.edu:asdf/transform/add-1.4.0"
);

public AddConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class ComposeConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/compose-1.2.0",
"tag:stsci.edu:asdf/transform/compose-1.3.0"
"tag:stsci.edu:asdf/transform/compose-1.3.0",
"tag:stsci.edu:asdf/transform/compose-1.4.0"
);

public ComposeConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class ConcatenateConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/concatenate-1.2.0",
"tag:stsci.edu:asdf/transform/concatenate-1.3.0"
"tag:stsci.edu:asdf/transform/concatenate-1.3.0",
"tag:stsci.edu:asdf/transform/concatenate-1.4.0"
);

public ConcatenateConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class DivideConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/divide-1.2.0",
"tag:stsci.edu:asdf/transform/divide-1.3.0"
"tag:stsci.edu:asdf/transform/divide-1.3.0",
"tag:stsci.edu:asdf/transform/divide-1.4.0"
);

public DivideConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
package edu.stsci.gwcs.asdf.converter.transform.compound;

import edu.stsci.gwcs.asdf.GwcsAsdfSupport;
import edu.stsci.gwcs.asdf.converter.AsdfNodeUtils;
import edu.stsci.gwcs.asdf.converter.ConverterBase;
import edu.stsci.gwcs.transform.Transform;
import edu.stsci.gwcs.transform.compound.FixInputs;
import org.asdfformat.asdf.node.AsdfNode;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class FixInputsConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/fix_inputs-1.2.0",
"tag:stsci.edu:asdf/transform/fix_inputs-1.3.0"
"tag:stsci.edu:asdf/transform/fix_inputs-1.3.0",
"tag:stsci.edu:asdf/transform/fix_inputs-1.4.0"
);

public FixInputsConverter(final GwcsAsdfSupport support) {
Expand All @@ -27,18 +28,18 @@ public Transform fromAsdfNode(final AsdfNode node) {
final Transform delegate = support().deserializeTransform(forwardNode.get(0L));

final AsdfNode mappingNode = forwardNode.get(1L);
final List<Integer> keys = mappingNode.getList("keys", Integer.class);
final List<Double> values = mappingNode.getList("values", Double.class);
final int[] keys = AsdfNodeUtils.readIntArray(mappingNode, "keys");
final double[] values = AsdfNodeUtils.readDoubleArray(mappingNode, "values");

if (keys.size() != values.size()) {
if (keys.length != values.length) {
throw new IllegalArgumentException(
"fix_inputs keys and values must have the same length, got "
+ keys.size() + " keys and " + values.size() + " values");
+ keys.length + " keys and " + values.length + " values");
}

final Map<Integer, Double> fixedInputs = new LinkedHashMap<>();
for (int i = 0; i < keys.size(); i++) {
fixedInputs.put(keys.get(i), values.get(i));
for (int i = 0; i < keys.length; i++) {
fixedInputs.put(keys[i], values[i]);
}

return new FixInputs(delegate, fixedInputs);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class MultiplyConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/multiply-1.2.0",
"tag:stsci.edu:asdf/transform/multiply-1.3.0"
"tag:stsci.edu:asdf/transform/multiply-1.3.0",
"tag:stsci.edu:asdf/transform/multiply-1.4.0"
);

public MultiplyConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class PowerConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/power-1.2.0",
"tag:stsci.edu:asdf/transform/power-1.3.0"
"tag:stsci.edu:asdf/transform/power-1.3.0",
"tag:stsci.edu:asdf/transform/power-1.4.0"
);

public PowerConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
public class SubtractConverter extends BinaryCompoundConverter {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/subtract-1.2.0",
"tag:stsci.edu:asdf/transform/subtract-1.3.0"
"tag:stsci.edu:asdf/transform/subtract-1.3.0",
"tag:stsci.edu:asdf/transform/subtract-1.4.0"
);

public SubtractConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
public class AffineConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/affine-1.3.0",
"tag:stsci.edu:asdf/transform/affine-1.4.0"
"tag:stsci.edu:asdf/transform/affine-1.4.0",
"tag:stsci.edu:asdf/transform/affine-1.5.0"
);

public AffineConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
public class ScaleConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/scale-1.2.0",
"tag:stsci.edu:asdf/transform/scale-1.3.0"
"tag:stsci.edu:asdf/transform/scale-1.3.0",
"tag:stsci.edu:asdf/transform/scale-1.4.0"
);

public ScaleConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
public class ShiftConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/shift-1.2.0",
"tag:stsci.edu:asdf/transform/shift-1.3.0"
"tag:stsci.edu:asdf/transform/shift-1.3.0",
"tag:stsci.edu:asdf/transform/shift-1.4.0"
);

public ShiftConverter(final GwcsAsdfSupport support) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
public class DirectionCosinesConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:gwcs/direction_cosines-1.0.0",
"tag:stsci.edu:gwcs/direction_cosines-1.1.0",
"tag:stsci.edu:gwcs/direction_cosines-1.2.0",
"tag:stsci.edu:gwcs/direction_cosines-1.3.0"
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
public class SphericalCartesianConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:gwcs/spherical_cartesian-1.0.0",
"tag:stsci.edu:gwcs/spherical_cartesian-1.1.0",
"tag:stsci.edu:gwcs/spherical_cartesian-1.2.0",
"tag:stsci.edu:gwcs/spherical_cartesian-1.3.0"
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@

public class PolynomialConverter extends ConverterBase {
private static final Set<String> TAGS = Set.of(
"tag:stsci.edu:asdf/transform/polynomial-1.2.0"
"tag:stsci.edu:asdf/transform/polynomial-1.2.0",
"tag:stsci.edu:asdf/transform/polynomial-1.3.0"
);

public PolynomialConverter(final GwcsAsdfSupport support) {
Expand Down
Loading
Loading