thomasorb / orcs

ORCS is an analysis engine for SITELLE spectral cubes.
GNU General Public License v3.0
9 stars 6 forks source link

Heliocentric corrections #3

Open marielougm opened 6 years ago

marielougm commented 6 years ago

Hi,

Does heliocentric correction can be apply with the ORCS package ? Or do all Sitelle observations are automatically corrected for this during data reduction with ORBS?

Thank you!

-ML

thomasorb commented 6 years ago

Dear @marielougm

A function to project measured velocity into the heliocentric system (and the local standard of rest) has been added to the next branch.

You can try it with

from orcs.process import SpectralCube

v = 0. # km/s

cube = SpectralCube('path_to_your_cube.hdf5')
vhelio, vlsr = cube.get_heliocentric_velocity(v)
print 'measured velocity (km/s):', v
print 'heliocentric velocity (km/s):', vhelio
print 'local standard of rest velocity (kms):', vlsr

Can you please tell me if eveything's okay (don't forget to use the next branch) so that I can merge it on the sable branch ?

Thank you !

marielougm commented 6 years ago

Dear @thomasorb,

It seems to be working! Thanks! But does that mean that the velocity obtained from the fit (for example with cube.fit_lines_in_region) are not corrected fro the heliocentric velocity?

Thank you,

-ML

thomasorb commented 6 years ago

Yes, you have to transform the measured velocity into an heliocentric velocity yourself. Thanks for testing it. I will merge it on the stable branch now.

thomasorb commented 6 years ago

Merge on master (stable) branch done. I consider this issue as closed :wink:

thomasorb commented 6 years ago

Dear @marielougm

Due to possible errors revealed in #18, changes have been made on the heliocentric velocity correction calculation (it is on the next branch for the moment: https://github.com/thomasorb/orcs/commit/f89c9b99892e20148d31480bc803dd316b3c1b0f). It is not based anymore on the module rvcorrect.py but on the astropy SkyCoord.radial_velocity_correction() method

You must now use the method: SpectralCube.get_radial_velocity_correction(kind='heliocentric') to get the heliocentric velocity correction (setting kind='barycentric' returns the barycentric velocity correction). In principle the returned velocity should be added for m/s precision but for higher precision there is a formula and some more explanations here

Please check your old calculations and tell me if you see important differences with the older version