Commit fdb6e5b1 authored by Wei Shoulin's avatar Wei Shoulin
Browse files

docs

parent 0d33eb51
...@@ -6,17 +6,18 @@ class CatalogApi(object): ...@@ -6,17 +6,18 @@ class CatalogApi(object):
self.stub = getattr(self.module, "CatalogApi")() self.stub = getattr(self.module, "CatalogApi")()
def catalog_query(self, ra: float, dec: float, radius: float, catalog_name: str, min_mag: float, max_mag: float, obstime: int, limit: int): def catalog_query(self, ra: float, dec: float, radius: float, catalog_name: str, min_mag: float, max_mag: float, obstime: int, limit: int):
''' retrieval catalot ''' retrieval catalog
args:
ra: in deg :param ra: in deg
dec: in deg :param dec: in deg
radius: in deg :param radius: in deg
catalog_name: one of ['gaia3','',''] :param catalog_name: one of ['gaia3','','']
min_mag: minimal magnitude :param min_mag: minimal magnitude
max_mag: maximal magnitude :param max_mag: maximal magnitude
obstime: seconds :param obstime: seconds
limit: limits returns the number of records :param limit: limits returns the number of records
return: csst_dfs_common.models.Result
:returns: csst_dfs_common.models.Result
''' '''
if catalog_name == "gaia3": if catalog_name == "gaia3":
...@@ -25,17 +26,18 @@ class CatalogApi(object): ...@@ -25,17 +26,18 @@ class CatalogApi(object):
return Result.error(message="%s catalog search not yet implemented" %(catalog_name, )) return Result.error(message="%s catalog search not yet implemented" %(catalog_name, ))
def gaia3_query(self, ra: float, dec: float, radius: float, min_mag: float, max_mag: float, obstime: int, limit: int): def gaia3_query(self, ra: float, dec: float, radius: float, min_mag: float, max_mag: float, obstime: int, limit: int):
''' retrieval GAIA EDR 3 """retrieval GAIA EDR 3
args:
ra: in deg :param ra: in deg
dec: in deg :param dec: in deg
radius: in deg :param radius: in deg
min_mag: minimal magnitude :param min_mag: minimal magnitude
max_mag: maximal magnitude :param max_mag: maximal magnitude
obstime: seconds :param obstime: seconds
limit: limits returns the number of records :param limit: limits returns the number of records
return: csst_dfs_common.models.Result
''' :returns: csst_dfs_common.models.Result
"""
try: try:
return self.stub.gaia3_query(ra, dec, radius, min_mag, max_mag, obstime, limit) return self.stub.gaia3_query(ra, dec, radius, min_mag, max_mag, obstime, limit)
except Exception as e: except Exception as e:
......
...@@ -11,55 +11,56 @@ class CalMergeApi(object): ...@@ -11,55 +11,56 @@ class CalMergeApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve calibration merge records from database ''' retrieve calibration merge records from database
Args: :param kwargs: Parameter dictionary, key items support:
detector_no: [str] detector_no: [str],
ref_type: [str] ref_type: [str],
obs_time: (start,end) obs_time: (start,end),
qc1_status : [int] qc1_status : [int],
prc_status : [int] prc_status : [int],
file_name: [str] file_name: [str],
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def get(self, **kwargs): def get(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
id : [int] id : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get(**kwargs) return self.stub.get(**kwargs)
def update_proc_status(self, **kwargs): def update_proc_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
Args: :param kwargs: Parameter dictionary, key items support:
id : [int], id : [int],
status : [int] status : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_proc_status(**kwargs) return self.stub.update_proc_status(**kwargs)
def update_qc1_status(self, **kwargs): def update_qc1_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
AArgs: :param kwargs: Parameter dictionary, key items support:
id : [int], id : [int],
status : [int] status : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_qc1_status(**kwargs) return self.stub.update_qc1_status(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a calibration merge record into database ''' insert a calibration merge record into database
Args:
:param kwargs: Parameter dictionary, key items support:
detector_no : [str] detector_no : [str]
ref_type : [str] ref_type : [str]
obs_time : [str] obs_time : [str]
...@@ -69,8 +70,8 @@ class CalMergeApi(object): ...@@ -69,8 +70,8 @@ class CalMergeApi(object):
filename : [str] filename : [str]
file_path : [str] file_path : [str]
level0_ids : [list] level0_ids : [list]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
...@@ -11,90 +11,90 @@ class DetectorApi(object): ...@@ -11,90 +11,90 @@ class DetectorApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve detector records from database ''' retrieve detector records from database
Args: :param kwargs: Parameter dictionary, key items support:
module_id: [str] module_id: [str]
key: [str] key: [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def get(self, **kwargs): def get(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
no : [str] no : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get(**kwargs) return self.stub.get(**kwargs)
def update(self, **kwargs): def update(self, **kwargs):
''' update a detector by no ''' update a detector by no
Args: :param kwargs: Parameter dictionary, key items support:
no : [str], no : [str],
detector_name : [str], detector_name : [str],
module_id : [str], module_id : [str],
filter_id : [str] filter_id : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update(**kwargs) return self.stub.update(**kwargs)
def delete(self, **kwargs): def delete(self, **kwargs):
''' delete a detector by no ''' delete a detector by no
Args: :param kwargs: Parameter dictionary, key items support:
no : [str] no : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.delete(**kwargs) return self.stub.delete(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a detector record into database ''' insert a detector record into database
Args: :param kwargs: Parameter dictionary, key items support:
no : [str], no : [str],
detector_name : [str], detector_name : [str],
module_id : [str], module_id : [str],
filter_id : [str] filter_id : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
def find_status(self, **kwargs): def find_status(self, **kwargs):
''' retrieve a detector status's from database ''' retrieve a detector status's from database
Args: :param kwargs: Parameter dictionary, key items support:
detector_no: [str] detector_no: [str]
status_occur_time: (begin,end) status_occur_time: (begin,end)
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find_status(**kwargs) return self.stub.find_status(**kwargs)
def get_status(self, **kwargs): def get_status(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
id : [int] id : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get_status(**kwargs) return self.stub.get_status(**kwargs)
def write_status(self, **kwargs): def write_status(self, **kwargs):
''' insert a detector status into database ''' insert a detector status into database
Args: :param kwargs: Parameter dictionary, key items support:
detector_no : [str], detector_no : [str],
status : [str], status : [str],
status_time : [str] status_time : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write_status(**kwargs) return self.stub.write_status(**kwargs)
\ No newline at end of file
...@@ -12,7 +12,7 @@ class Level0DataApi(object): ...@@ -12,7 +12,7 @@ class Level0DataApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve level0 records from database ''' retrieve level0 records from database
Args: :param kwargs: Parameter dictionary, key items support:
obs_id: [int] obs_id: [int]
detector_no: [str] detector_no: [str]
obs_type: [str] obs_type: [str]
...@@ -21,47 +21,47 @@ class Level0DataApi(object): ...@@ -21,47 +21,47 @@ class Level0DataApi(object):
prc_status : [int], prc_status : [int],
file_name: [str] file_name: [str]
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def get(self, **kwargs): def get(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
fits_id : [int] fits_id : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get(**kwargs) return self.stub.get(**kwargs)
def update_proc_status(self, **kwargs): def update_proc_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
Args: :param kwargs: Parameter dictionary, key items support:
fits_id : [int], fits_id : [int],
status : [int] status : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_proc_status(**kwargs) return self.stub.update_proc_status(**kwargs)
def update_qc0_status(self, **kwargs): def update_qc0_status(self, **kwargs):
''' update the status of QC0 ''' update the status of QC0
Args: :param kwargs: Parameter dictionary, key items support:
fits_id : [int], fits_id : [int],
status : [int] status : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_qc0_status(**kwargs) return self.stub.update_qc0_status(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a level0 data record into database ''' insert a level0 data record into database
Args: :param kwargs: Parameter dictionary, key items support:
obs_id = [int] obs_id = [int]
detector_no = [str] detector_no = [str]
obs_type = [str] obs_type = [str]
...@@ -70,8 +70,8 @@ class Level0DataApi(object): ...@@ -70,8 +70,8 @@ class Level0DataApi(object):
detector_status_id = [int] detector_status_id = [int]
filename = [str] filename = [str]
file_path = [str] file_path = [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
...@@ -12,31 +12,31 @@ class Level0PrcApi(object): ...@@ -12,31 +12,31 @@ class Level0PrcApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve level0 procedure records from database ''' retrieve level0 procedure records from database
Args: :param kwargs: Parameter dictionary, key items support:
level0_id: [int] level0_id: [int]
pipeline_id: [str] pipeline_id: [str]
prc_module: [str] prc_module: [str]
prc_status : [int] prc_status : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def update_proc_status(self, **kwargs): def update_proc_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
Args: :param kwargs: Parameter dictionary, key items support:
id : [int], id : [int],
status : [int] status : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_proc_status(**kwargs) return self.stub.update_proc_status(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a level0 procedure record into database ''' insert a level0 procedure record into database
Args: :param kwargs: Parameter dictionary, key items support:
level0_id : [int] level0_id : [int]
pipeline_id : [str] pipeline_id : [str]
prc_module : [str] prc_module : [str]
...@@ -44,8 +44,8 @@ class Level0PrcApi(object): ...@@ -44,8 +44,8 @@ class Level0PrcApi(object):
prc_status : [int] prc_status : [int]
prc_time : [str] prc_time : [str]
file_path : [str] file_path : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
...@@ -12,25 +12,25 @@ class ObservationApi(object): ...@@ -12,25 +12,25 @@ class ObservationApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve exposure records from database ''' retrieve exposure records from database
Args: :param kwargs: Parameter dictionary, key items support:
module_id: [str] module_id: [str]
obs_type: [str] obs_type: [str]
obs_time : (start, end), obs_time : (start, end),
qc0_status : [int], qc0_status : [int],
prc_status : [int], prc_status : [int],
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def get(self, **kwargs): def get(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
obs_id = [int] obs_id = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get(**kwargs) return self.stub.get(**kwargs)
...@@ -38,29 +38,29 @@ class ObservationApi(object): ...@@ -38,29 +38,29 @@ class ObservationApi(object):
def update_proc_status(self, **kwargs): def update_proc_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
Args: :param kwargs: Parameter dictionary, key items support:
obs_id = [int], obs_id = [int],
status = [int] status = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_proc_status(**kwargs) return self.stub.update_proc_status(**kwargs)
def update_qc0_status(self, **kwargs): def update_qc0_status(self, **kwargs):
''' update the status of QC0 ''' update the status of QC0
Args: :param kwargs: Parameter dictionary, key items support:
obs_id = [int], obs_id = [int],
status = [int] status = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_qc0_status(**kwargs) return self.stub.update_qc0_status(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a observational record into database ''' insert a observational record into database
Args: :param kwargs: Parameter dictionary, key items support:
obs_id = [int] obs_id = [int]
obs_time = [str] obs_time = [str]
exp_time = [float] exp_time = [float]
...@@ -68,8 +68,8 @@ class ObservationApi(object): ...@@ -68,8 +68,8 @@ class ObservationApi(object):
obs_type = [str] obs_type = [str]
facility_status_id = [int] facility_status_id = [int]
module_status_id = [int] module_status_id = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
...@@ -12,7 +12,7 @@ class Level1DataApi(object): ...@@ -12,7 +12,7 @@ class Level1DataApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve level1 records from database ''' retrieve level1 records from database
Args: :param kwargs: Parameter dictionary, key items support:
raw_id: [int] raw_id: [int]
data_type: [str] data_type: [str]
obs_type: [str] obs_type: [str]
...@@ -21,18 +21,18 @@ class Level1DataApi(object): ...@@ -21,18 +21,18 @@ class Level1DataApi(object):
prc_status : [int], prc_status : [int],
filename: [str] filename: [str]
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def get(self, **kwargs): def get(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
id : [int] id : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get(**kwargs) return self.stub.get(**kwargs)
...@@ -40,29 +40,29 @@ class Level1DataApi(object): ...@@ -40,29 +40,29 @@ class Level1DataApi(object):
def update_proc_status(self, **kwargs): def update_proc_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
Args: :param kwargs: Parameter dictionary, key items support:
id = [int], id = [int],
status = [int] status = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_proc_status(**kwargs) return self.stub.update_proc_status(**kwargs)
def update_qc1_status(self, **kwargs): def update_qc1_status(self, **kwargs):
''' update the status of QC0 ''' update the status of QC0
Args: :param kwargs: Parameter dictionary, key items support:
id = [int], id = [int],
status = [int] status = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_qc1_status(**kwargs) return self.stub.update_qc1_status(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a level1 record into database ''' insert a level1 record into database
Args: :param kwargs: Parameter dictionary, key items support:
raw_id : [int] raw_id : [int]
data_type : [str] data_type : [str]
cor_sci_id : [int] cor_sci_id : [int]
...@@ -78,8 +78,8 @@ class Level1DataApi(object): ...@@ -78,8 +78,8 @@ class Level1DataApi(object):
prc_status : [int] prc_status : [int]
prc_time : [str] prc_time : [str]
pipeline_id : [str] pipeline_id : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
...@@ -12,7 +12,7 @@ class Level1DataApi(object): ...@@ -12,7 +12,7 @@ class Level1DataApi(object):
def find(self, **kwargs): def find(self, **kwargs):
''' retrieve level1 records from database ''' retrieve level1 records from database
Args: :param kwargs: Parameter dictionary, key items support:
raw_id: [int] raw_id: [int]
data_type: [str] data_type: [str]
obs_type: [str] obs_type: [str]
...@@ -21,18 +21,18 @@ class Level1DataApi(object): ...@@ -21,18 +21,18 @@ class Level1DataApi(object):
prc_status : [int], prc_status : [int],
filename: [str] filename: [str]
limit: limits returns the number of records,default 0:no-limit limit: limits returns the number of records,default 0:no-limit
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.find(**kwargs) return self.stub.find(**kwargs)
def get(self, **kwargs): def get(self, **kwargs):
''' fetch a record from database ''' fetch a record from database
Args: :param kwargs: Parameter dictionary, key items support:
id : [int] id : [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.get(**kwargs) return self.stub.get(**kwargs)
...@@ -40,29 +40,29 @@ class Level1DataApi(object): ...@@ -40,29 +40,29 @@ class Level1DataApi(object):
def update_proc_status(self, **kwargs): def update_proc_status(self, **kwargs):
''' update the status of reduction ''' update the status of reduction
Args: :param kwargs: Parameter dictionary, key items support:
id = [int], id = [int],
status = [int] status = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_proc_status(**kwargs) return self.stub.update_proc_status(**kwargs)
def update_qc1_status(self, **kwargs): def update_qc1_status(self, **kwargs):
''' update the status of QC0 ''' update the status of QC0
Args: :param kwargs: Parameter dictionary, key items support:
id = [int], id = [int],
status = [int] status = [int]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.update_qc1_status(**kwargs) return self.stub.update_qc1_status(**kwargs)
def write(self, **kwargs): def write(self, **kwargs):
''' insert a level1 record into database ''' insert a level1 record into database
Args: :param kwargs: Parameter dictionary, key items support:
raw_id : [int] raw_id : [int]
data_type : [str] data_type : [str]
cor_sci_id : [int] cor_sci_id : [int]
...@@ -75,8 +75,8 @@ class Level1DataApi(object): ...@@ -75,8 +75,8 @@ class Level1DataApi(object):
prc_status : [int] prc_status : [int]
prc_time : [str] prc_time : [str]
pipeline_id : [str] pipeline_id : [str]
Returns:
csst_dfs_common.models.Result :returns: csst_dfs_common.models.Result
''' '''
return self.stub.write(**kwargs) return self.stub.write(**kwargs)
...@@ -5,8 +5,8 @@ import logging ...@@ -5,8 +5,8 @@ import logging
from astropy.io import fits from astropy.io import fits
from csst_dfs_commons.logging import setup_logging from csst_dfs_commons.logging import setup_logging
from csst_dfs_api.ifs import FitsApi, RefFitsApi, Result0Api, Result1Api from csst_dfs_api.facility import Level0DataApi, CalMergeApi
from csst_dfs_api.ifs import Level1DataApi
setup_logging() setup_logging()
log = logging.getLogger('csst') log = logging.getLogger('csst')
...@@ -15,16 +15,13 @@ class RSS(object): ...@@ -15,16 +15,13 @@ class RSS(object):
def __init__(self, file_name): def __init__(self, file_name):
self.root_dir = os.getenv("CSST_LOCAL_FILE_ROOT", "/opt/temp/csst") self.root_dir = os.getenv("CSST_LOCAL_FILE_ROOT", "/opt/temp/csst")
self.fitsApi = FitsApi() self.level0Api = Level0DataApi()
self.refFitsApi = RefFitsApi() self.calibrationApi = CalMergeApi()
self.result0Api = Result0Api() self.level1Api = Level1DataApi()
self.result1Api = Result1Api()
try: try:
self.raw = self.fitsApi.find(file_name=file_name) self.raw = self.level0Api.find(file_name=file_name)
self.raw = self.raw.data[0] if self.raw.success else None
if self.raw.success:
self.raw = self.raw.data()[0] if len(self.raw.data())>0 else None
if self.raw is None: if self.raw is None:
log.error('raw %s not found' %(file_name,)) log.error('raw %s not found' %(file_name,))
...@@ -36,8 +33,8 @@ class RSS(object): ...@@ -36,8 +33,8 @@ class RSS(object):
def set_bias(self, file_name=None): def set_bias(self, file_name=None):
try: try:
self.bias = self.refFitsApi.find(file_name=file_name, ref_type=RefFitsApi.REF_FITS_BIAS) self.bias = self.calibrationApi.find(file_name=file_name, ref_type="bias")
self.bias = self.bias[0] if self.bias else None self.bias = self.bias.data[0] if self.bias.success else None
if self.bias is None: if self.bias is None:
log.error('bias %s not found' %(file_name,)) log.error('bias %s not found' %(file_name,))
...@@ -48,8 +45,8 @@ class RSS(object): ...@@ -48,8 +45,8 @@ class RSS(object):
def set_flat(self, file_name=None): def set_flat(self, file_name=None):
try: try:
self.flat = self.refFitsApi.find(file_name=file_name, ref_type=RefFitsApi.REF_FITS_FLAT) self.flat = self.calibrationApi.find(file_name=file_name, ref_type="flat")
self.flat = self.flat[0] if self.flat else None self.flat = self.flat.data[0] if self.flat.success else None
if self.flat is None: if self.flat is None:
log.error('flat %s not found' %(file_name,)) log.error('flat %s not found' %(file_name,))
...@@ -60,8 +57,8 @@ class RSS(object): ...@@ -60,8 +57,8 @@ class RSS(object):
def set_arc(self, file_name = None): def set_arc(self, file_name = None):
try: try:
self.arc = self.refFitsApi.find(file_name=file_name, ref_type=RefFitsApi.REF_FITS_ARC) self.arc = self.calibrationApi.find(file_name=file_name, ref_type="arc")
self.arc = self.arc[0] if self.arc else None self.arc = self.arc.data[0] if self.arc.success else None
if self.arc is None: if self.arc is None:
log.error('arc %s not found' %(file_name,)) log.error('arc %s not found' %(file_name,))
...@@ -72,8 +69,8 @@ class RSS(object): ...@@ -72,8 +69,8 @@ class RSS(object):
def set_sky(self, file_name = None): def set_sky(self, file_name = None):
try: try:
self.sky = self.refFitsApi.find(file_name=file_name, ref_type=RefFitsApi.REF_FITS_SKY) self.sky = self.calibrationApi.find(file_name=file_name, ref_type="sky")
self.sky = self.sky[0] if self.sky else None self.sky = self.sky.data[0] if self.sky.success else None
if self.sky is None: if self.sky is None:
log.error('sky %s not found' %(file_name,)) log.error('sky %s not found' %(file_name,))
...@@ -83,7 +80,6 @@ class RSS(object): ...@@ -83,7 +80,6 @@ class RSS(object):
log.error('sky %s not found' %(file_name,),e) log.error('sky %s not found' %(file_name,),e)
def makecube(self, outfile): def makecube(self, outfile):
if self.raw is None: if self.raw is None:
log.error('raw not found') log.error('raw not found')
return return
...@@ -97,31 +93,10 @@ class RSS(object): ...@@ -97,31 +93,10 @@ class RSS(object):
log.error('sky not found') log.error('sky not found')
return return
hdul_raw = fits.open(os.path.join(self.root_dir, self.raw['file_path'])) hdul_raw = fits.open(os.path.join(self.raw.file_path))
hdul_arc = fits.open(os.path.join(self.root_dir, self.arc['file_path'])) hdul_arc = fits.open(os.path.join(self.arc.file_path))
hdul_flat = fits.open(os.path.join(self.root_dir, self.flat['file_path'])) hdul_flat = fits.open(os.path.join(self.flat.file_path))
hdul_sky = fits.open(os.path.join(self.root_dir, self.sky['file_path'])) hdul_sky = fits.open(os.path.join(self.sky.file_path))
hdul_raw.append(hdul_arc[0])
hdul_raw.append(hdul_flat[0])
hdul_raw.append(hdul_sky[0])
hdul_raw.writeto(outfile, overwrite=True)
self.result0Api.write(raw_id = self.raw['id'], file_path = outfile, proc_type = 'default')
def makecube2(self, outfile):
refiles = [self.raw, self.arc, self.flat, self.bias, self.sky]
raw_segments = self.fitsApi.read(self.raw['id'])
arc_segments = self.refFitsApi.read(self.arc['id'])
flat_segments = self.refFitsApi.read(self.flat['id'])
sky_segments = self.refFitsApi.read(self.sky['id'])
hdul_raw = fits.HDUList.fromstring(b''.join(raw_segments))
hdul_arc = fits.HDUList.fromstring(b''.join(arc_segments))
hdul_flat = fits.HDUList.fromstring(b''.join(flat_segments))
hdul_sky = fits.HDUList.fromstring(b''.join(sky_segments))
hdul_raw.append(hdul_arc[0]) hdul_raw.append(hdul_arc[0])
hdul_raw.append(hdul_flat[0]) hdul_raw.append(hdul_flat[0])
...@@ -129,7 +104,20 @@ class RSS(object): ...@@ -129,7 +104,20 @@ class RSS(object):
hdul_raw.writeto(outfile, overwrite=True) hdul_raw.writeto(outfile, overwrite=True)
self.result0Api.write(raw_id = self.raw['id'], file_path = outfile, proc_type = 'default') self.level1Api.write(level0_id = self.raw.id,
data_type = "sci",
cor_sci_id = 2,
prc_params = "/opt/dddasd.params",
flat_id = self.flat.id,
dark_id = -1,
bias_id = -1,
lamp_id = -1,
arc_id = self.arc.id,
sky_id = self.sky.id,
prc_status = 0,
filename = "rss_demo1",
file_path = outfile,
pipeline_id = "P2")
if __name__ == '__main__': if __name__ == '__main__':
rss1 = RSS('CCD1_ObsTime_300_ObsNum_1.fits') # raw data rss1 = RSS('CCD1_ObsTime_300_ObsNum_1.fits') # raw data
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment