예제 #1
0
def stack_normalize(private_key, sender_id, msg_id, mtype, params,
                                      extra):
    try:
        info("stack_normalize()")
        try:
            payload = DictionaryClass(params)
            seds = []
            for segment in payload.segments:
                x = decode_string(segment.x)
                y = decode_string(segment.y)
                yerr = decode_string(segment.yerr)
                id_ = str(segment.id)
                seds.append(IrisSed(x=x, y=y, yerr=yerr, id=id_))
            stack = IrisStack(seds)

            result = normalize(stack, payload)
            for i, segment in enumerate(payload.segments):
                segment.x = encode_string(result[i].x)
                segment.y = encode_string(result[i].y)
                segment.yerr = encode_string(result[i].yerr)
                segment.norm_constant = str(result[i].norm_constant)
            payload.excludeds = result.excluded
            reply_success(msg_id, mtype, payload.get_dict())

        except Exception, e:
            reply_error(msg_id, sedexceptions.SEDException, e, mtype)
            return

    except Exception:
        error(str(capture_exception()))
예제 #2
0
def stack_normalize(private_key, sender_id, msg_id, mtype, params, extra):
    try:
        info("stack_normalize()")
        try:
            payload = DictionaryClass(params)
            seds = []
            for segment in payload.segments:
                x = decode_string(segment.x)
                y = decode_string(segment.y)
                yerr = decode_string(segment.yerr)
                id_ = str(segment.id)
                seds.append(IrisSed(x=x, y=y, yerr=yerr, id=id_))
            stack = IrisStack(seds)

            result = normalize(stack, payload)
            for i, segment in enumerate(payload.segments):
                segment.x = encode_string(result[i].x)
                segment.y = encode_string(result[i].y)
                segment.yerr = encode_string(result[i].yerr)
                segment.norm_constant = str(result[i].norm_constant)
            payload.excludeds = result.excluded
            reply_success(msg_id, mtype, payload.get_dict())

        except Exception, e:
            reply_error(msg_id, sedexceptions.SEDException, e, mtype)
            return

    except Exception:
        error(str(capture_exception()))
예제 #3
0
def stack_redshift(private_key, sender_id, msg_id, mtype, params,
                                      extra):
    try:
        info("stack_redshift()")
        try:
            payload = DictionaryClass(params)
            seds = []
            for segment in payload.segments:
                x = decode_string(segment.x)
                y = decode_string(segment.y)
                yerr = decode_string(segment.yerr)
                z = float(segment.z)
                id_ = str(segment.id)
                seds.append(IrisSed(x=x, y=y, yerr=yerr, z=z, id=id_))
            z0 = float(payload.z0)
            correct_flux = payload.correct_flux == "true"

            result = redshift(IrisStack(seds), z0, correct_flux)

            for i, segment in enumerate(payload.segments):
                segment.x = encode_string(result[i].x)
                segment.y = encode_string(result[i].y)
                segment.yerr = encode_string(result[i].yerr)

            payload.excludeds = result.excluded

            reply_success(msg_id, mtype, payload.get_dict())

        except Exception, e:
            reply_error(msg_id, sedexceptions.SEDException, e, mtype)
            return

    except Exception:
        error(str(capture_exception()))
예제 #4
0
def stack_redshift(private_key, sender_id, msg_id, mtype, params, extra):
    try:
        info("stack_redshift()")
        try:
            payload = DictionaryClass(params)
            seds = []
            for segment in payload.segments:
                x = decode_string(segment.x)
                y = decode_string(segment.y)
                yerr = decode_string(segment.yerr)
                z = float(segment.z)
                id_ = str(segment.id)
                seds.append(IrisSed(x=x, y=y, yerr=yerr, z=z, id=id_))
            z0 = float(payload.z0)
            correct_flux = payload.correct_flux == "true"

            result = redshift(IrisStack(seds), z0, correct_flux)

            for i, segment in enumerate(payload.segments):
                segment.x = encode_string(result[i].x)
                segment.y = encode_string(result[i].y)
                segment.yerr = encode_string(result[i].yerr)

            payload.excludeds = result.excluded

            reply_success(msg_id, mtype, payload.get_dict())

        except Exception, e:
            reply_error(msg_id, sedexceptions.SEDException, e, mtype)
            return

    except Exception:
        error(str(capture_exception()))