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
Liu Dezi
csst_msc_sim
Commits
a4832bdf
Commit
a4832bdf
authored
Jul 15, 2023
by
Fang Yuedong
Browse files
move rotate_ellipticity to CatalogBase.py
parent
7e936912
Changes
2
Show whitespace changes
Inline
Side-by-side
Catalog/C6_50sqdeg.py
View file @
a4832bdf
...
...
@@ -6,7 +6,6 @@ import h5py as h5
import
healpy
as
hp
import
astropy.constants
as
cons
import
traceback
import
cmath
from
astropy.coordinates
import
spherical_to_cartesian
from
astropy.table
import
Table
from
scipy
import
interpolate
...
...
@@ -222,13 +221,17 @@ class Catalog(CatalogBase):
param
[
'e2'
]
=
gals
[
'ellipticity_true'
][
igals
][
1
]
# For shape calculation
param
[
'ell_total'
]
=
np
.
sqrt
(
param
[
'e1'
]
**
2
+
param
[
'e2'
]
**
2
)
param
[
'e1'
],
param
[
'e2'
],
param
[
'ell_total'
]
=
self
.
rotate_ellipticity
(
e1
=
gals
[
'ellipticity_true'
][
igals
][
0
],
e2
=
gals
[
'ellipticity_true'
][
igals
][
1
],
rotation
=
self
.
rotation
,
unit
=
'radians'
)
# param['ell_total'] = np.sqrt(param['e1']**2 + param['e2']**2)
if
param
[
'ell_total'
]
>
0.9
:
continue
phi_e
=
cmath
.
phase
(
complex
(
param
[
'e1'
],
param
[
'e2'
]))
param
[
'e1'
]
=
param
[
'ell_total'
]
*
np
.
cos
(
phi_e
+
2
*
self
.
rotation
)
param
[
'e2'
]
=
param
[
'ell_total'
]
*
np
.
sin
(
phi_e
+
2
*
self
.
rotation
)
#
phi_e = cmath.phase(complex(param['e1'], param['e2']))
#
param['e1'] = param['ell_total'] * np.cos(phi_e + 2*self.rotation)
#
param['e2'] = param['ell_total'] * np.sin(phi_e + 2*self.rotation)
param
[
'e1_disk'
]
=
param
[
'e1'
]
param
[
'e2_disk'
]
=
param
[
'e2'
]
...
...
ObservationSim/MockObject/CatalogBase.py
View file @
a4832bdf
import
numpy
as
np
import
galsim
import
copy
import
cmath
from
astropy.table
import
Table
from
abc
import
abstractmethod
,
ABCMeta
...
...
@@ -73,6 +74,16 @@ class CatalogBase(metaclass=ABCMeta):
}
return
param
@
staticmethod
def
rotate_ellipticity
(
e1
,
e2
,
rotation
=
0.
,
unit
=
'radians'
):
if
unit
==
'degree'
:
rotation
=
np
.
radians
(
rotation
)
e_total
=
np
.
sqrt
(
e1
**
2
+
e2
**
2
)
phi
=
cmath
.
phase
(
complex
(
e1
,
e2
))
e1
=
e_total
*
np
.
cos
(
phi
+
2
*
rotation
)
e2
=
e_total
*
np
.
sin
(
phi
+
2
*
rotation
)
return
e1
,
e2
,
e_total
@
staticmethod
def
convert_sed
(
mag
,
sed
,
target_filt
,
norm_filt
=
None
):
bandpass
=
target_filt
.
bandpass_full
...
...
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