mapcube_solar_derotate

sunpy.physics.solar_rotation.mapcube_solar_derotate(mc, layer_index=0, clip=True, shift=None, **kwargs)[source] [edit on github]

Move the layers in a mapcube according to the input shifts. If an input shift is not given, the shifts due to solar rotation relative to an index layer is calculated and applied. When using this functionality, it is a good idea to check that the shifts that were applied to were reasonable and expected. One way of checking this is to animate the original mapcube, animate the derotated mapcube, and compare the differences you see to the calculated shifts.

Parameters:
  • mc (sunpy.map.MapCube) – A mapcube of shape (ny, nx, nt), where nt is the number of layers in the mapcube.
  • layer_index (int) – Solar derotation shifts of all maps in the mapcube are assumed to be relative to the layer in the mapcube indexed by layer_index.
  • clip (bool) – If True, then clip off x, y edges in the datacube that are potentially affected by edges effects.
  • **kwargs – These keywords are passed to the function sunpy.physics.solar_rotation.calculate_solar_rotate_shift.
Returns:

output (sunpy.map.MapCube) – The results of the shifts applied to the input mapcube.

Examples

>>> from sunpy.physics.solar_rotation import mapcube_solar_derotate
>>> import sunpy.data.sample
>>> map1 = sunpy.map.Map(sunpy.data.sample.AIA_171_IMAGE)
>>> map2 = sunpy.map.Map(sunpy.data.sample.EIT_195_IMAGE)
>>> mc = sunpy.map.Map([map1, map2], cube=True)
>>> derotated_mc = mapcube_solar_derotate(mc)
>>> derotated_mc = mapcube_solar_derotate(mc, layer_index=-1)
>>> derotated_mc = mapcube_solar_derotate(mc, clip=False)