Commit a4832bdf authored by Fang Yuedong's avatar Fang Yuedong
Browse files

move rotate_ellipticity to CatalogBase.py

parent 7e936912
......@@ -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']
......
import numpy as np
import galsim
import copy
import cmath
from astropy.table import Table
from abc import abstractmethod, ABCMeta
......@@ -72,6 +73,16 @@ class CatalogBase(metaclass=ABCMeta):
"parallax":1e-9
}
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):
......
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