#!/usr/bin/env python
import sys
import os
import siteUtils
import metUtils
from flatnessTask import flatnessTask

raft_id = siteUtils.getUnitId()

# Find the TS5 metrology scan data by constructing the name of the data-taking step
acqjobname = siteUtils.getJobName().replace('_Analysis', '')
if ("Room_Temp_Measurement" in acqjobname and not "After" in acqjobname):
    acqjobname = "Pump_and_" + acqjobname

print('flatness_ts5:')
print(acqjobname)
print(siteUtils.getProcessName(acqjobname))
print('----')

# siteUtils returns a list with one member;
# here take the first (and only) member
infile = siteUtils.dependency_glob('*.csv',
                                   jobname=siteUtils.getProcessName(acqjobname),
                                   description='')[0]
print "infile = %s" % infile

flatnessTask(raft_id, infile, dtype='TS5', pickle_file='flatness_ts5.pickle')
#flat_file = siteUtils.dependency_glob('*/*/*_AbsHeight*.DAT',
direcs = siteUtils.dependency_glob('*',
                                   jobname=siteUtils.getProcessName('OGP_Dimensional_Metrology_Upload'),description='OGP Absolute Height scan:')
print "direcs:"
print direcs
print "------------------------------"

dimdir = ""
for line in direcs :
    if "DimensionalMetrology" in line :
        dimdir = line

print "dimensional metrology directory = %s" % dimdir


flat_file = ""

for root, dirs, flat_files in os.walk(dimdir):
    for file in flat_files:
        if file.endswith(".DAT"):
             flat_file=os.path.join(root, file)

#flat_file = flat_file[0]  # siteUtils returns flat_file as a list with one member;
    # here take the first (and only) member

print "flat_file = %s" % flat_file

# The dtype below indicates the source of the data, which is always OGP
# for sensors measured at BNL
flatnessTask(sensor_id, flat_file, dtype='OGP', pickle_file='flatness.pickle')
#!/usr/bin/env python
import siteUtils
import metUtils
from flatnessTask import flatnessTask

sensor_id = siteUtils.getUnitId()
ccd_vendor = siteUtils.getCcdVendor()

patterns = dict(e2v='*CT100*.csv', ITL='*.txt')

#
# Find the vendor metrology scan data from the Data Catalog.  Sort the
# results in case of multiple vendor ingests so that we can use the
# most recent one based on SR-RCV-1 job id, assuming the filenames
# are the same for each delivery.
#
met_file = metUtils.get_met_scan_data(sensor_id, patterns[ccd_vendor],
                                      root_folder='LSST/mirror/SLAC-prod/prod',
                                      sort=True)[-1]

flatnessTask(sensor_id, met_file, dtype=ccd_vendor,
             pickle_file='flatness.pickle')
#!/usr/bin/env python
import argparse
from flatnessTask import flatnessTask

parser = argparse.ArgumentParser(description='Sensor flatness analysis.')
parser.add_argument('infile', help='Data file of xyz tuples containing sensor metrology points')
parser.add_argument('sensor_id', help='LSST ID number of sensor')
parser.add_argument('--datatype', type=str, default='OGP',
                    help='Formatting of input file: OGP, e2v, ITL')

args = parser.parse_args()

flatnessTask(args.sensor_id, args.infile, dtype=args.datatype)