Example #1
0
def main(argv=[__name__]):
    acqimage = AcquisitionImage(argv[1])

    ui.display(acqimage.get_science_data(), zscale=True)

    # the listener will collect the actual data we want
    verbose = False
    listener = SelectionCursorListener(acqimage, verbose)
    listener.start()
def test_mdf_box_locations_are_unchanged_by_acquisition_image():
    acqimage = AcquisitionImage(get_data_file_name("N20121108S0357.fits"), mosmask="6")

    box_centers = [(4370.9898354,   339.18367075),
                   (1948.16935825,  712.01011175),
                   (1384.48997275, 1181.42130025),
                   (1451.827332,   2218.3127036 )]

    assert len(box_centers) == len(acqimage.get_mos_boxes())

    for refcenter, box in zip(box_centers, acqimage.get_mos_boxes()):
        box_detector_center = box.get_mdf_detector_center() 
        assert_tolerance(refcenter, box_detector_center, tolerance=0.0001)
Example #3
0
    def __init__(self, detsec):
        origin=(0, 0)
        FiberStamp.__init__(self, detsec, detsec.get_data(), origin)


def fiber_finder(fiberfield):
    fiber_center = None
    while fiber_center is None:
        print "== Press 'a' on this fiber, and then 'q' when happy ==" 
        listener = FiberDetectionListener(fiberfield, verbose=True)
        listener.start()
        fiber_center = listener.get_fiber_center()
    return fiber_center


acqimage = AcquisitionImage(sys.argv[1])

if acqimage.focal_plane_mask().upper() != "IFU-2" or acqimage.grating().upper() != "MIRROR":
    print "Should only be run on a IFU-2 flat non-dispersed image"
    sys.exit(1)

fiberfield = FiberField(acqimage.get_full_field_of_view())
ui.display(fiberfield.get_data(), zscale=True)

fname = sys.argv[2]
newfname = fname
if not os.path.exists(fname):
    fname = None
fiberbundles = FiberBundleCollection(fname, acqimage)

try: