예제 #1
0
파일: images.py 프로젝트: zpace/marvin
def getDir3d(inputid, mode=None, release=None):
    ''' Get the 3d redux Image directory from an input plate or plate-IFU '''

    idtype = parseIdentifier(inputid)
    if idtype == 'plate':
        plateid = inputid
    elif idtype == 'plateifu':
        plateid, __ = inputid.split('-')

    release = marvin.config.release if not release else release
    drpver, __ = marvin.config.lookUpVersions(release=release)

    if check_versions(drpver, 'v1_5_4'):
        from marvin.tools.plate import Plate
        try:
            plate = Plate(plate=plateid, nocubes=True, mode=mode, release=release)
        except Exception as e:
            raise MarvinError('Could not retrieve a remote plate.  If it is a mastar '
                              'plate you are after, Marvin currently does not handle those: {0}'.format(e))
        else:
            dir3d = plate.dir3d
    else:
        dir3d = 'stack'

    return dir3d
예제 #2
0
def _getPlate(plateid, nocubes=None, **kwargs):
    ''' Get a Plate Marvin Object '''
    plate = None
    results = {}

    # Pop the release to remove a duplicate input to Maps
    release = kwargs.pop('release', None)

    if not str(plateid).isdigit():
        results['error'] = 'Error: plateid is not a numeric value'
        return plate, results

    try:
        plate = Plate(plate=plateid, nocubes=nocubes, mode='local', release=release)
    except Exception as e:
        results['error'] = 'Failed to retrieve Plate for id {0}: {1}'.format(plateid, str(e))
    else:
        results['status'] = 1

    return plate, results