Unit tests

Catalog

proseco.tests.test_catalog.test_aca_acqs_include_exclude()[source]

Test include and exclude stars. This uses a catalog with 11 stars: - 8 bright stars from 7.0 to 7.7 mag, where the 7.0 is EXCLUDED - 2 faint (but OK) stars 10.0, 10.1 where the 10.0 is INCLUDED - 1 very faint (bad) stars 12.0 mag is INCLUDED

Both the 7.0 and 10.1 would normally get picked either initially or swapped in during optimization, and 12.0 would never get picked. Check that the final catalog is [7.1 .. 7.7, 10.0, 12.0]

This is a stripped down version of test_cand_acqs_include_exclude in test_acq.py along with test_guides_include_exclude in test_guide.py.

proseco.tests.test_catalog.test_allowed_kwargs()[source]

Test #332 where allowed_kwargs class attribute is unique for each subclass

proseco.tests.test_catalog.test_bad_pixel_dark_current()[source]

Test avoidance of bad_pixels = [[-245, 0, 454, 454]]

  • Put a bright star near this bad column and confirm it is not picked at all.

  • Put a bright star at col = 454 - 20 / 5 - 105 / 5 (dither and search box size) and confirm it is picked with search box = 100 arcsec.

proseco.tests.test_catalog.test_big_dither_from_mica_starcheck()[source]

Test code that infers dither_acq and dither_guide for a big-dither observation like 20168.

proseco.tests.test_catalog.test_big_sim_offset()[source]

Check getting a catalog for a large SIM offset that means there are no candidates.

Bonus: check that duration and target_name can be set.

proseco.tests.test_catalog.test_calling_with_t_ccd_acq_guide(call_t_ccd)[source]

Test that calling get_aca_catalog with t_ccd or t_ccd_acq/guide args sets all CCD attributes correctly in the nominal case of a temperature below the penalty limit.

proseco.tests.test_catalog.test_clip_maxmag()[source]

Test that clipping maxmag for guide and acq stars works

proseco.tests.test_catalog.test_copy_deepcopy_pickle()[source]

Test that copy, deepcopy and pickle all return the expected object which is independent of the original (where expected).

Returns:

proseco.tests.test_catalog.test_dark_property()[source]

Test that appropriate temperatures are applied to acq, fid, guide dark maps.

Returns:

None

proseco.tests.test_catalog.test_dense_star_field_regress(proseco_agasc_1p7)[source]

Test getting stars at the most dense star field in the sky. Taken from:

https://github.com/sot/skanb/blob/master/star_selection/dense_sparse_cats.ipynb

proseco.tests.test_catalog.test_exception_handling()[source]

Test top-level exception catching.

proseco.tests.test_catalog.test_fid_trap_effect()[source]

Test that guide stars impacted by fid trap effect are excluded.

This uses two flight obsids that showed this issue. See: http://cxc.cfa.harvard.edu/mta/ASPECT/aca_weird_pixels/

proseco.tests.test_catalog.test_force_catalog_from_starcheck(proseco_agasc_1p7)[source]

Test forcing a catalog from starcheck output.

proseco.tests.test_catalog.test_get_aca_catalog_20259(proseco_agasc_1p7)[source]

Test obsid 20259 which has two spoiled fids: HRC-2 is yellow and HRC-4 is red. Expectation is to choose fids 1, 2, 3 (not 4).

Also do a test that set_stars() processing is behaving as expected.

proseco.tests.test_catalog.test_get_aca_catalog_20603(proseco_agasc_1p7)[source]

Put it all together. Regression test for selected stars.

proseco.tests.test_catalog.test_get_aca_catalog_20603_with_supplement()[source]

Test that results for 20603 are different if the AGASC supplement is used.

proseco.tests.test_catalog.test_get_aca_catalog_49531()[source]

Test of getting an ER using the mica.starcheck archive for getting the obs parameters. This tests a regression introduced in the acq-fid functionality.

proseco.tests.test_catalog.test_img_size_guide()[source]

Test img_size_guide for setting guide star readout image size

proseco.tests.test_catalog.test_img_size_guide_override_with_env(monkeypatch)[source]

Test img_size_guide for setting guide star readout image size when PROSECO_OR_IMAGE_SIZE is set.

proseco.tests.test_catalog.test_includes_for_obsid()[source]

Test helper function to get the include_* kwargs for forcing a catalog.

proseco.tests.test_catalog.test_monitors_and_target_offset_args()[source]

Test #328 to add monitors and target_offset args to API.

proseco.tests.test_catalog.test_no_candidates()[source]

Test that get_aca_catalog returns a well-formed but zero-length tables for a star field with no acceptable candidates.

proseco.tests.test_catalog.test_pickle()[source]

Test that ACA, guide, acq, and fid catalogs round-trip through pickling.

Known attributes that do NOT round-trip are below. None of these are required for post-facto catalog evaluation and currently the reporting code handles stars and dark.

  • stars

  • dark

  • aca.fids.acqs

proseco.tests.test_catalog.test_reject_column_spoilers(disable_fid_offsets)[source]

Test that column spoiler handling is correct for guide, acq and fid selection. Also tests not selecting stars that are too bright.

proseco.tests.test_catalog.test_report_from_objects(tmpdir)[source]

Test making guide and acq reports without the intermediate pickle.

This is just a sanity check that appropriate files are created. More detailed testing (including pickle round trip) is tested in test_guide and test_acq.

proseco.tests.test_catalog.test_t_ccd_acq_attr()[source]

Test that a t_ccd and t_ccd_acq kwarg are set to all of the expected ACACatalogTable attrs

proseco.tests.test_catalog.test_t_ccd_attr()[source]

Test that a t_ccd kwarg is set to all of the ACACatalogTable attrs

proseco.tests.test_catalog.test_t_ccd_effective_acq_guide(t_ccd_case)[source]

Test setting of effective T_ccd temperatures for cases above and below the penalty limit.

proseco.tests.test_catalog.test_t_ccd_effective_acq_guide_via_kwarg(t_ccd_case)[source]

Test setting of effective T_ccd temperatures for cases above and below a manually specified limit

proseco.tests.test_catalog.test_t_ccd_multi_attr()[source]

Test assignments if t_ccd, t_ccd_acq, and t_ccd_guide supplied as kwargs

Acquisition

proseco.tests.test_acq.add_imposter(dark, acq, dyang, dzang, dmag)[source]

For testing, add an imposter (single hot pixel) at the specified delta location and mag relative to an acq star. Returns a new dark map.

proseco.tests.test_acq.add_spoiler(stars, acq, dyang, dzang, dmag, mag_err=0.05)[source]

For testing, add a spoiler stars at the specified delta location and mag relative to an acq star. Returns a new stars table.

proseco.tests.test_acq.calc_p_brightest(acq, box_size, stars, dark, man_err=0, dither=20, bgd=0)[source]

Stub for original functional version of acq.calc_p_brightest, which was turned into an AcqTable method.

proseco.tests.test_acq.get_dark_stars_simple(box_size_thresh, dither)[source]

Set-up for tests of optimized acq and fid selection:

id    mag  status
100   9.5  ok
101   9.6  ok
102   9.7  ok
103    10  ok
  2   8.2  spoiled by fid 2 for box > 90
  3  11.5  yellow spoiler for fid 3
  4  11.5  yellow spoiler for fid 4

All fid sets have spoiler sum = 1 or 2.

proseco.tests.test_acq.setup_get_imposter_stars(val)[source]

Setup for testing with the get_imposter_stars function.

proseco.tests.test_acq.test_0_5_degree_man_angle_bin()[source]

It was decided at the 2018-09-26 SSAWG to set the probability of man_err > 60 to 0.0 for the 0-5 degree maneuver angle bin. This tests that.

proseco.tests.test_acq.test_0_5_degree_man_angle_bin_diff_t_ccd()[source]

It was decided at the 2018-09-26 SSAWG to set the probability of man_err > 60 to 0.0 for the 0-5 degree maneuver angle bin. This tests that.

proseco.tests.test_acq.test_acq_fid_catalog_n_fid(n_fid_exp_fid_ids)[source]

Test optimizing acq and fid in a simple case (which does exercise acq-fid optimization) with n_fid=1, 2, 3:

id    mag  status
100   9.5  ok
101   9.6  ok
102   9.7  ok
103    10  ok
  2   8.2  spoiled by fid 2 for box > 90
  3  11.5  yellow spoiler for fid 3
  4  11.5  yellow spoiler for fid 4

For n_fid=1, this chooses fid_set=[1] because that is not spoiled and is not a spoiler.

For n_fid=2, this chooses fid_set=[1, 4] to allow star id=2 to have a 160” box (maintaining the no-fid opt_P2). Set [1, 3] would be the same but the [1, 3] separation is less than the [1, 4] separation.

For n_fid=3, this choose fid_set=[1, 3, 4], again so star id=2 is free to have a 160” box. From the stage perspective the spoiler_score=1 fid sets have sufficiently degraded P2 that it moves on to the spoiler_score=2 set that includes fids 3 and 4.

proseco.tests.test_acq.test_acq_fid_catalog_one_cand_fid()[source]

Test optimizing acq and fid for an ACIS-S observation with large sim_offset (-55000) such that only ACIS-6 is still on the ACA CCD. Add a couple of stars:

  • id=1 is 8.2 mag star that should be selected but is spoiled by fid id=6 for box size > 90. Expect optimized size to be 80”.

  • id=2 is 11.5 mag star that is a yellow spoiler for fid id=6. Expect fid_set == (6,).

This test is good because with fid_set=(6,) the final catalog does not meet stage requirements and thus excercise the path of never finding a good fid set. In that case the best available is selected with a warning.

proseco.tests.test_acq.test_acq_fid_catalog_probs_low_level(disable_fid_offsets)[source]

Low-level tests of machinery to handle different fid light sets within acquisition probabilities.

proseco.tests.test_acq.test_acq_fid_catalog_two_cand_fid(n_fid)[source]

Test optimizing acq and fid for an HRC-I observation with large sim_offset (29829) such that only two fids id=(1, 2) are still on the ACA CCD. This is an ACIS undercover observation (obsid 19793 from DEC0516B).

Add a couple of stars:

  • id=1 is 8.2 mag star that should be selected but is spoiled by fid id=1 for box size > 90. Expect optimized size to be 80”.

  • id=2 is 11.5 mag star that is a yellow spoiler for fid id=2. Expect fid_set == (1, 2) with spoiler_score=1.

proseco.tests.test_acq.test_acq_fid_catalog_zero_cand_fid()[source]

Test catalog selection with n_fid=3 requested but zero candidate fids. This should not happen in practice.

proseco.tests.test_acq.test_acq_include_ids_all_halfws_full_catalog()[source]

Test for all 8 acq_ids provided with no include_halfws provided

proseco.tests.test_acq.test_acq_include_ids_all_halfws_full_catalog_with_spoiler()[source]

Test for all 8 acq_ids provided with all include_halfws provided.

Importantly include stars for which the p_acq is not increasing in the same order as mag. This is the root cause of #323. For this test two bright acq stars with a strong spoiler are included.

proseco.tests.test_acq.test_acq_include_ids_no_halfws(halfw_kwargs)[source]

Test that force-include acq stars with no halfw provides works.

proseco.tests.test_acq.test_acq_include_ids_no_halfws_full_catalog()[source]

Test for all 8 acq_ids provided with no include_halfws provided

proseco.tests.test_acq.test_acq_include_optimize_halfw_ids()[source]

Test that force-include acq stars with halfw=0 get halfw optimized.

proseco.tests.test_acq.test_bad_star_list()[source]

Test that a star with ID in the bad star list is not selected.

proseco.tests.test_acq.test_bin2x2()[source]

Test the bin2x2 function

proseco.tests.test_acq.test_box_strategy_20603(proseco_agasc_1p7, disable_overlap_penalty)[source]

Test for PR #32 that doesn’t allow p_acq to be reduced below 0.1.

The idx=8 (mag=10.50) star was previously selected with 160 arsec box.

proseco.tests.test_acq.test_calc_p_brightest_1mag_brighter()[source]

Test for the situation of spoiler/imposter that is 1 mag brighter.

proseco.tests.test_acq.test_calc_p_brightest_same_bright()[source]

Test for an easy situation of three spoiler/imposters with exactly the same brightness as acq star so that p_brighter is always 0.5. As each one comes into the box you add another coin toss to the odds of the acq star being brightest.

proseco.tests.test_acq.test_calc_p_brightest_same_bright_asymm_dither()[source]

Test for an easy situation of three spoiler/imposters with exactly the same brightness as acq star so that p_brighter is always 0.5. As each one comes into the box you add another coin toss to the odds of the acq star being brightest.

Use an asymmetric dither to test the handling of this.

proseco.tests.test_acq.test_calc_p_on_ccd()[source]

Test the calculation of probability of star being on usable area on the CCD.

proseco.tests.test_acq.test_calc_p_on_ccd_asymmetric_dither()[source]

Test the calculation of probability of star being on usable area on the CCD for the case of asymmetric dither.

proseco.tests.test_acq.test_cand_acqs_include_exclude()[source]

Test include and exclude stars.

This uses a catalog with 11 stars:

  • 8 bright stars from 7.0 to 7.7 mag, where the 7.0 is EXCLUDED

  • 2 faint (but OK) stars 10.0, 10.1 where the 10.0 is INCLUDED

  • 1 very faint (bad) stars 12.0 mag is INCLUDED

Both the 7.0 and 10.1 would normally get picked either initially or swapped in during optimization, and 12.0 would never get picked. Check that the final catalog is [7.1 .. 7.7, 10.0, 12.0]

Finally, starting from the catalog chosen with the include/exclude constraints applied, remove those constraints and re-optimize. This must come back to the original catalog of the 8 bright stars.

proseco.tests.test_acq.test_dither_as_sequence()[source]

Test that calling get_acq_catalog with a 2-element sequence (dither_y, dither_z) gives the expected response. (Basically that it still returns a catalog).

proseco.tests.test_acq.test_get_acq_catalog_19387(proseco_agasc_1p7)[source]

Put it all together. Regression test for selected stars. This obsid actually changes out one of the initial catalog candidates.

From ipython: >>> from proseco.acq import AcqTable >>> acqs = get_acq_catalog(19387) >>> TEST_COLS = (‘idx’, ‘slot’, ‘id’, ‘yang’, ‘zang’, ‘halfw’) >>> repr(acqs.cand_acqs[TEST_COLS]).splitlines()

proseco.tests.test_acq.test_get_acq_catalog_21007(proseco_agasc_1p7, disable_overlap_penalty)[source]

Put it all together. Regression test for selected stars.

Also test that the acq prob model info dict is correctly set.

From ipython:

>>> from proseco.acq import AcqTable
>>> acqs = get_acq_catalog(21007)
>>> TEST_COLS = ('idx', 'slot', 'id', 'yang', 'zang', 'halfw')
>>> repr(acqs.cand_acqs[TEST_COLS]).splitlines()
proseco.tests.test_acq.test_get_image_props()[source]

Test the get_image_props function

proseco.tests.test_acq.test_get_imposters_3500()[source]

Test three nearby hits that don’t make the cut.

proseco.tests.test_acq.test_get_imposters_5000()[source]

Test get_imposters with an imposter of 5000.

proseco.tests.test_acq.test_get_p_man_err()[source]

Test the get_p_man_err function.

P_man_errs is a table that defines the probability of a maneuver error being within a defined lo/hi bin [arcsec] given a maneuver angle [deg] within a bin range. The first two columns specify the maneuver error bins and the subsequent column names give the maneuver angle bin in the format <angle_lo>-<angle_hi>. The source table does not include the row for the 0-60 man err case: this is generated automatically from the other values so the sum is 1.0.

man_err_lo man_err_hi 0-5 5-20 20-40 40-60 60-80 80-100 100-120 120-180
---------- ---------- --- ---- ----- ----- ----- ------ ------- -------
        60         80 0.0  0.2   0.5   0.6   1.6    4.0     8.0     8.0
        80        100 0.0  0.1   0.2   0.3   0.5    1.2     2.4     2.4
       100        120 0.0  0.0   0.1   0.2   0.3    0.8     0.8     0.8
       120        140 0.0  0.0  0.05  0.05   0.2    0.4     0.4     0.4
       140        160 0.0  0.0  0.05  0.05   0.2    0.2     0.2     0.4
proseco.tests.test_acq.test_make_report(tmpdir)[source]

Test making an acquisition report.

Use a big-box dither here to test handling of that in report (after passing through pickle).

proseco.tests.test_acq.test_n_acq()[source]

Test that specifying n_acq with a value less than 8 gives the expected result. This test ensures that the optimization code that is testing against n_acq is also getting exercised by selecting a catalog where at least one candidate swap occurs.

proseco.tests.test_acq.test_no_candidates()[source]

Test that get_acq_catalog returns a well-formed but zero-length table for a star field with no acceptable candidates.

proseco.tests.test_acq.test_warnings()[source]

Test that the ACACatalogTable warnings infrastructure works via a specific expected warning in get_acq_catalog (too few stars selected).

Guide

proseco.tests.test_guide.test_avoid_trap()[source]

Set up a scenario where a star is selected fine at one roll, and then confirm that it is not selected when roll places it on the trap.

proseco.tests.test_guide.test_bad_star_list()[source]

Test that a star with ID in the bad star list is not selected.

proseco.tests.test_guide.test_big_dither()[source]

Regression test that the expected set of agasc ids selected for “big dither” obsid 20168 are selected.

proseco.tests.test_guide.test_box_mag_spoiler()[source]

Test spoiled star rejection by manipulating a star position and magnitude to make it spoil another star in a specific attitude/config.

proseco.tests.test_guide.test_check_mag_spoilers()[source]

Check that spoiling stars that should spoil a candidated due to the mag/line test actually spoil the candidate star.

The check_mag_spoilers function sets a star to spoil another star if it is closer than a required separation for the magnitude difference (a faint star can be closer to a candidate star without spoiling it). The line test is defined in the mag_spoiler parameters Intercept and Slope.

proseco.tests.test_guide.test_check_pixmag_offset()[source]

Test the get_pixmag_for_offset guide function.

get_pixmag_for_offset returns the magnitude required for an individual pixel to spoil the centroid of a candidate star by an specified offset. This test uses a range of pixel locations and intensities, and confirms that for any pixel that would cause an offset in the centroid position over the threshold given that the pixel value would be over the magnitude given by get_pixmag_for_offset.

proseco.tests.test_guide.test_check_spoil_contrib()[source]

Construct a case where a star spoils the edge of the 8x8 (edge and then background pixel).

Note that for these mock stars, since we we are checking the status of the first star, ASPQ1 needs to be nonzero on that star or the check_spoil_contrib code will bail out before actually doing the check

proseco.tests.test_guide.test_check_spoiler_cases()[source]

Regression test guide star selection against a star and a spoiler

This moves a spoiling star from center past and edge then moves a spoiling star diagonally. This should hit check_spoil_contrib, has_spoiler_in_box, and check_mag_spoilers tests in the guide star selection.

proseco.tests.test_guide.test_common_column(case)[source]

Test check_column_spoilers method using constructed two-star cases. The check_column_spoilers method uses n_sigma on MAG_ACA_ERR, but this test ignores MAG_ACA_ERR.

proseco.tests.test_guide.test_common_column_obsid_19904()[source]

Confirm in a specific configuration that a star with a column spoiler, 1091705224, is not selected. This test limits the star field star field to just 5 stars including the star and the column spoiler

proseco.tests.test_guide.test_edge_star(dither)[source]

Add stars right at row and col max for various dithers. This test both confirms that the dark map extraction doesn’t break and that the stars can still be selected.

proseco.tests.test_guide.test_get_ax_range()[source]

Confirm that the ranges from get_ax_range are reasonable for a variety of center pixel locations and extents (extent = 4 + pix_dither)

proseco.tests.test_guide.test_guides_include_bad()[source]

Test include stars for guide where star is bad for some reason.

  • Including a class=1 star on the CCD is allowed.

  • Including a star (otherwise acceptable) just off the CCD is not allowed.

proseco.tests.test_guide.test_guides_include_close()[source]

Test force include stars where they would not be selected due to clustering.

proseco.tests.test_guide.test_guides_include_exclude()[source]

Test include and exclude stars for guide. This uses a catalog with 11 stars: - 8 bright stars from 7.0 to 7.7 mag, where the 7.0 is EXCLUDED - 2 faint (but OK) stars 10.0, 10.1 where the 10.0 is INCLUDED - 1 very faint (bad) stars 12.0 mag is INCLUDED

Both the 7.0 and 10.1 would normally get picked either initially or swapped in during optimization, and 12.0 would never get picked.

proseco.tests.test_guide.test_make_report_guide(tmpdir)[source]

Test making a guide report. Use a big-box dither here to test handling of that in report (after passing through pickle).

proseco.tests.test_guide.test_obsid_19461(proseco_agasc_1p7)[source]

Regression tests that 5 expected agasc ids are selected in a poor star field corresponding to obsid 19461.

proseco.tests.test_guide.test_overlap_spoiler()[source]

Add a brighter “spoiler” that is a good guide star and confirm the test for overlapping selected stars works until just past (12 pixels).

proseco.tests.test_guide.test_overlap_spoiler_include()[source]

Add test for overlap-star handling in cases where one or both stars is in includes_ids_guide.

proseco.tests.test_guide.test_pix_spoiler(case)[source]

Check that for various dither configurations, a hot pixel near a star will result in that star not being selected.

proseco.tests.test_guide.test_region_contrib(proseco_agasc_1p7)[source]

Regression test of stars rejected by contributing starlight to readout region.

Scenario test for too much light contribution by a spoiler star unto the region of a candidate star… by excluding and then including the spoiler star amongst the stars in the star field and confirming that the candidate is not selected when the spoiler star is included.

proseco.tests.test_guide.test_select(proseco_agasc_1p7)[source]

Regression test that 5 expected agasc ids are selected at an arbitrary ra/dec/roll .

proseco.tests.test_guide.test_warnings()[source]

Test that the ACACatalogTable warnings infrastructure works via a specific expected warning in get_guide_catalog (too few stars selected).

Fid

proseco.tests.test_fid.test_big_sim_offset()[source]

Test of an observation with a big SIM offset

proseco.tests.test_fid.test_dither_as_sequence()[source]

Test that calling get_acq_catalog with a 2-element sequence (dither_y, dither_z) gives the expected response. (Basically that it still returns a catalog).

proseco.tests.test_fid.test_fid_catalog_t_ccd()[source]

Test that t_ccd vs t_ccd_acq/guide is applied to get_fid_catalog

proseco.tests.test_fid.test_fid_hot_pixel_reject(FIDS)[source]

Test hot pixel rejecting a fid

proseco.tests.test_fid.test_fid_mult_spoilers(disable_fid_offsets, proseco_agasc_1p7)[source]

Test of fix for bug #54. 19605 and 20144 were previous crashing.

proseco.tests.test_fid.test_fid_spoiler_score(FIDS)[source]

Test computing the fid spoiler score.

proseco.tests.test_fid.test_fid_spoiling_acq(dither_z, FIDS)[source]

Test fid spoiling acq.

Check fid spoiling acq:

  • 20” (4 pix) positional err on fid light

  • 4 pixel readout halfw for fid light

  • 2 pixel PSF of fid light that could creep into search box

  • Acq search box half-width

  • Dither amplitude (since OBC adjusts search box for dither)

For this case (100” halfw and dither) the threshold for spoiling is 20 + 20 + 10 + 100 + dither = 150” + dither. So this test puts stars at the positions of ACIS-S 2, 4, 5 but offset by 82, 149 and 151 arcsec + dither. Only ACIS-S-5 is allowed, so we end up with the first fid set using 1, 3, 5, 6, which is 1, 5, 6.

proseco.tests.test_fid.test_fids_include_bad()[source]

Test include bad id fid and fid not on CCD

proseco.tests.test_fid.test_fids_include_exclude()[source]

Test include and exclude fids.

proseco.tests.test_fid.test_get_fid_position()[source]

Compare computed fid positions to flight values from starcheck reports.

proseco.tests.test_fid.test_get_initial_catalog(FIDS)[source]

Test basic catalog with no stars in field using standard 2-4-5 config.

proseco.tests.test_fid.test_n_fid()[source]

Test specifying number of fids.

Core

proseco.tests.test_core.test_agasc_1p7(miniagasc_1p7)[source]

Ensure that AGASC 1.7 is being used.

proseco.tests.test_core.test_agasc_1p8_or_later()[source]

Check that AGASC 1.8 or later (including RC’s) is being used.

proseco.tests.test_core.test_alias_attributes(cls, attr)[source]

Unit testing of descriptors, in particular the alias attributes

proseco.tests.test_core.test_box_add()[source]

ACABox left and right addition

proseco.tests.test_core.test_box_eq()[source]

ACABox equality and inequality

proseco.tests.test_core.test_box_greater()[source]

ACABox ‘greater than’ comparison

proseco.tests.test_core.test_box_init()[source]

ACABox initialization functionality

proseco.tests.test_core.test_box_row_col_max()[source]

ACABox row, col properties and max() method

proseco.tests.test_core.test_calc_spoiler_impact(case)[source]

Test that calc_spoiler_impact gives reasonable answer. See also: http://nbviewer.jupyter.org/url/asc.harvard.edu/mta/ASPECT/proseco/spoiler-impact.ipynb

proseco.tests.test_core.test_calc_spoiler_impact_21068()[source]

Confirm that for the Dragonfly-44 field that the impact of the spoiler is acceptable and the star can be used as a candidate.

proseco.tests.test_core.test_get_dim_res()[source]

Test getting ACA DIM and RES for an array of halfws

proseco.tests.test_core.test_mag_err_clip(proseco_agasc_1p7)[source]

Test clipping magnitudes

proseco.tests.test_core.test_pickle_stars()[source]

Test that pickling a StarsTable object roundtrips

proseco.tests.test_core.test_starstable_from_stars()[source]

Test initializing a StarsTable from stars where att can be different.

Tests with an attitude is 0.0005 arsec different (OK) and 0.002 arcsec different (not OK).