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
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