Level_3

class esis.data.level_3.Level_3(observation, transformation_objects, lev1_sequences, lev1_cameras)

Bases: kgpy.mixin.Pickleable

The ESIS Level_3 data will be stored in an NDCube. The NDCube will contain a 4 axis (time, camera_id, solarx, solary) WCS object.

__init__(observation, transformation_objects, lev1_sequences, lev1_cameras)

Initialize self. See help(type(self)) for accurate signature.

Parameters
Return type

None

Methods

__init__(observation, …)

Initialize self.

add_mask([line])

Transform masks created for Level1 data into Level_3 coordinates and add to Level_3 NDCube

correct_vignetting(scale_factor[, fudge_angle])

rtype

numpy.ndarray

default_pickle_path()

rtype

pathlib.Path

from_aia_level1([aia_path, level1_path, hei])

Create a Level_3 Obj through a linear co-alignment of ESIS Level1 to AIA 304.

from_pickle([path])

rtype

esis.data.level_3.Level_3

masked_mean_normalization()

Given a masked level3 object this routine will return the mean taken from the portion of the sun seen by all 4 cameras that does not contain the bright MgX line as a cube by which level3.observation.data can be divided.

to_fits(path)

In need of a rework since moving to NDCube.

to_pickle([path])

to_test_object([aia_path, level1_path])

Replace all images in a Level 3 object with co-temporal AIA 304 images for testing.

update_internal_alignment([ref_channel, heI])

rtype

esis.data.level_3.Level_3

Inheritance Diagram

Inheritance diagram of esis.data.level_3.Level_3

add_mask(line=None)

Transform masks created for Level1 data into Level_3 coordinates and add to Level_3 NDCube

Return type

esis.data.level_3.Level_3

correct_vignetting(scale_factor, fudge_angle=array([0, 0, 0, 0]))
Return type

numpy.ndarray

static default_pickle_path()
Return type

pathlib.Path

classmethod from_aia_level1(aia_path=None, level1_path=WindowsPath('C:/Users/byrdie/Kankelborg-Group/ESIS/esis/flight/esis_Level1.pickle'), hei=False)

Create a Level_3 Obj through a linear co-alignment of ESIS Level1 to AIA 304.

NOTE!!! This contains hard coded variables that only pertain to the 2019 ESIS Flight, will need to be made more general for future launches. Including a rough FOV and pointing when choosing an AIA cutout should do the trick.

Return type

esis.data.level_3.Level_3

Parameters
classmethod from_pickle(path=None)
Return type

esis.data.level_3.Level_3

Parameters

path (Optional[pathlib.Path]) –

masked_mean_normalization()

Given a masked level3 object this routine will return the mean taken from the portion of the sun seen by all 4 cameras that does not contain the bright MgX line as a cube by which level3.observation.data can be divided.

For best results correct vignetting first.

Return type

numpy.ndarray

to_fits(path)

In need of a rework since moving to NDCube. Note that WCS.to_header does not output naxis keywords

Parameters

path (pathlib.Path) –

to_pickle(path=None)
Parameters

path (Optional[pathlib.Path]) –

to_test_object(aia_path=WindowsPath('c:/users/byrdie/kankelborg-group/kgpy/kgpy/observatories/aia/data'), level1_path=WindowsPath('C:/Users/byrdie/Kankelborg-Group/ESIS/esis/flight/esis_Level1.pickle'))

Replace all images in a Level 3 object with co-temporal AIA 304 images for testing.

Return type

esis.data.level_3.Level_3

Parameters
update_internal_alignment(ref_channel=1, heI=False)
Return type

esis.data.level_3.Level_3

lev1_cameras: numpy.ndarray
lev1_sequences: numpy.ndarray
observation: ndcube.ndcube.NDCube
transformation_objects: pathlib.Path