Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
csst-pipeline
csst_common
Commits
33b78d87
Commit
33b78d87
authored
Feb 02, 2026
by
BO ZHANG
🏀
Browse files
add p.add_metadata
parent
cb4a828e
Pipeline
#12143
passed with stage
in 0 seconds
Changes
1
Pipelines
2
Show whitespace changes
Inline
Side-by-side
csst_common/pipeline.py
View file @
33b78d87
...
...
@@ -441,36 +441,48 @@ class Pipeline:
self
.
logger
.
info
(
f
"Pipeline exit with reason:
{
reason
}
"
)
sys
.
exit
(
self
.
EXIT_CODES
[
reason
])
def
add_metadata
_to_image
(
def
add_metadata
(
self
,
file_path
,
data_model
:
str
,
qc_status
:
int
=
-
1024
,
filter
:
str
=
None
,
custom_id
:
str
=
None
,
object
:
str
=
None
,
proposal_id
:
str
=
None
,
ra
:
float
=
None
,
dec
:
float
=
None
,
healpix
:
int
=
None
,
obs_date
:
str
=
None
,
parent_uuids
:
list
=
[],
# 编排信息
dataset
:
Optional
[
str
]
=
None
,
instrument
:
Optional
[
str
]
=
None
,
obs_type
:
Optional
[
str
]
=
None
,
obs_group
:
Optional
[
str
]
=
None
,
obs_id
:
Optional
[
str
]
=
None
,
# 探测信息
detector
:
Optional
[
str
]
=
None
,
filter
:
Optional
[
str
]
=
None
,
# 自定义ID
custom_id
:
Optional
[
str
]
=
None
,
# 额外数据产品信息
qc_status
:
Optional
[
int
]
=
None
,
# QC状态, fits.getval("QC_STATUS")
object
:
Optional
[
str
]
=
None
,
proposal_id
:
Optional
[
str
]
=
None
,
ra
:
Optional
[
float
]
=
None
,
dec
:
Optional
[
float
]
=
None
,
healpix
:
Optional
[
int
]
=
None
,
obs_date
:
Optional
[
str
]
=
None
,
parent_uuids
:
Optional
[
list
]
=
None
,
# 父数据产品UUID列表
table_hdu_idx_list
:
Optional
[
list
]
=
None
,
# 包含BinTableHDU的索引列表
):
meta_kwargs
=
dict
(
# 编排信息
dataset
=
self
.
task
.
get
(
"dataset"
),
instrument
=
self
.
task
.
get
(
"instrument"
),
obs_type
=
self
.
task
.
get
(
"obs_type"
),
obs_group
=
self
.
task
.
get
(
"obs_group"
),
obs_id
=
self
.
task
.
get
(
"obs_id"
),
dataset
=
dataset
or
self
.
task
.
get
(
"dataset"
),
instrument
=
instrument
or
self
.
task
.
get
(
"instrument"
),
obs_type
=
obs_type
or
self
.
task
.
get
(
"obs_type"
),
obs_group
=
obs_group
or
self
.
task
.
get
(
"obs_group"
),
obs_id
=
obs_id
or
self
.
task
.
get
(
"obs_id"
),
# 探测信息
detector
=
self
.
task
.
get
(
"detector"
),
filter
=
self
.
task
.
get
(
"filter"
)
or
filter
,
detector
=
detector
or
self
.
task
.
get
(
"detector"
),
filter
=
filter
or
self
.
task
.
get
(
"filter"
),
# 参考信息
pmapname
=
self
.
pmapname
,
ref_cat
=
self
.
ref_cat
,
# 数据处理信息
custom_id
=
self
.
task
.
get
(
"custom_id"
)
or
custom_id
,
pmapname
=
self
.
pmapname
or
self
.
task
.
get
(
"pmapname"
),
ref_cat
=
self
.
ref_cat
or
self
.
task
.
get
(
"ref_cat"
),
# 自定义ID
custom_id
=
custom_id
or
self
.
task
.
get
(
"custom_id"
),
# 额外数据产品信息
batch_id
=
self
.
task
.
get
(
"batch_id"
),
dag_group
=
self
.
task
.
get
(
"dag_group"
),
dag_group_run
=
self
.
task
.
get
(
"dag_group_run"
),
...
...
@@ -479,7 +491,7 @@ class Pipeline:
priority
=
self
.
task
.
get
(
"priority"
),
# data_list=self.task.get("data_list") or [],
extra_kwargs
=
self
.
task
.
get
(
"extra_kwargs"
)
or
{},
created_time
=
self
.
task
.
get
(
"created_time"
),
created_time
=
self
.
task
.
get
(
"created_time"
)
or
self
.
now
()
,
rerun
=
self
.
task
.
get
(
"rerun"
),
# 数据产品信息
data_model
=
data_model
,
# 数据产品类型,手动设置
...
...
@@ -494,17 +506,21 @@ class Pipeline:
ra
=
ra
,
# 赤经
dec
=
dec
,
# 赤纬
healpix
=
healpix
,
# HEALPix,每种数据产品的nside可以不一样
obs_date
=
obs_date
,
# 观测时间
obs_date
=
obs_date
,
# 观测时间
(是否支持tuple)
prc_date
=
self
.
now
(),
# 处理时间
parent_uuids
=
parent_uuids
,
# 父数据产品UUID列表
)
"""Add metadata to file."""
"""Add metadata to
data product
file."""
self
.
logger
.
info
(
f
"Add metadata to
{
file_path
}
..."
)
with
fits
.
open
(
file_path
,
mode
=
"update"
)
as
hdulist
:
meta
:
dict
=
io
.
generate_meta
(
**
meta_kwargs
)
self
.
logger
.
info
(
f
"Metadata:
{
meta
}
"
)
hdulist
:
fits
.
HDUList
=
io
.
append_meta
(
hdulist
,
meta
)
hdulist
.
flush
()
for
idx
in
table_hdu_idx_list
or
[]:
# TODO: BZ
pass
return
meta
def
query_ref_cat
(
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment