Channel Properties - Exploring XRT Instrument Configuration

We will explore the X-Ray Telescope (XRT) instrument properties using XRTpy’s Channel object. The Channel object provides convenient methods and attributes to access and analyze various aspects of the XRT instrument configuration.

[1]:
# Import the xrtpy package
import xrtpy

Begin by defining a filter channel by its common abbreviation. In this example we will be exploring the titanium-on-polyimide filter. For detailed information about various filter channels and their characteristics, you can refer to the xrtpy- X-Ray Filter Channel section.

[2]:
# Define the filter channel abbreviation
Filter = "Ti-poly"

To further explore the properties and characteristics of the defined filter channel, we will create a Channel object using xrtpy.response.Channel. By inserting the Filter variable as an input to the xrtpy.response.Channel object, we can conveniently work with the properties associated with the titanium-on-polyimide filter.

Now that we have created our channel object, we can delve into the X-Ray Telescope (XRT) instrument and its properties. We will start by examining basic information about the XRT instrument.

[4]:
# Display relevant information about the selected filter, observatory, and instrument
print("Selected filter:", channel.name)
print("\nObservatory:", channel.observatory)
print("Instrument:", channel.instrument)
Selected filter: Ti-poly

Observatory: Hinode
Instrument: XRT

Note: Instrument Properties

It is important to note that most instrument properties of the X-Ray Telescope (XRT) remain the same regardless of the specific filter being used. This means that many characteristics and specifications of the XRT instrument, such as its dimensions, field of view, and detector properties, are independent of the selected filter.

Contents

  1. Charge-Coupled Device

  2. Entrance Filter

  3. Focus-Filter

  4. Geometry

  5. Mirror 1 and 2

  6. Instrument Plotting

Charge-Coupled-Device (CCD)

The channel.ccd object reviews properties associated with the Charge-Coupled-Device (CCD) camera of the X-Ray Telescope (XRT) instrument.

We can explore various characteristics of the CCD camera, such as its quantum_efficiency and pixel size to list a few.

[5]:
print(channel.ccd.ccd_name)

print("\nPixel size: ", channel.ccd.ccd_pixel_size)

print("Full well: ", channel.ccd.ccd_full_well)
print("Gain left: ", channel.ccd.ccd_gain_left)
print("Gain right: ", channel.ccd.ccd_gain_right)
print("eV pre electron: ", channel.ccd.ccd_energy_per_electron)
Hinode/XRT Flight Model CCD

Pixel size:  13.5 micron
Full well:  222000.0 electron
Gain left:  58.79999923706055 electron / DN
Gain right:  57.5 electron / DN
eV pre electron:  3.6500000953674316 eV / electron

Entrance Filter

We can explore the XRT entrance filter properties utilizing channel.entrancefilter object.

[6]:
print(channel.entrancefilter.entrancefilter_name)
print("Material: ", channel.entrancefilter.entrancefilter_material)
print("Thickness: ", channel.entrancefilter.entrancefilter_thickness)
print("Density: ", channel.entrancefilter.entrancefilter_density)
Entrance filters
Material:  ['Al2O3' 'Al' 'Al2O3' 'polyimide']
Thickness:  [  75. 1492.    0. 2030.] Angstrom
Density:  [3.97  2.699 3.97  1.43 ] g / cm3

Focus-Filter

The XRT data is recorded through nine X-ray filters, which are implemented using two filter wheels. By utilizing the channel.filter_# notation, where # represents filter wheel 1 or 2, we can explore detailed information about the selected XRT channel filter.

We are exploring the titanium-on-polyimide filter located in filter wheel 2, we will be utilizing the channel.filter_2 object. This enables us to gather specific information about the properties and characteristics of this particular filter.

It’s worth noting that exploring the other filter will yield the result “Open,” as it’s not use. For more comprehensive information about the XRT filters, you can refer to the X-Ray Filter Channel documentation.

[7]:
print("Filter Wheel:", channel.filter_2.filter_name)
print("\nFilter material:", channel.filter_2.filter_material)
print("Thickness: ", channel.filter_2.filter_thickness)
print("Density: ", channel.filter_2.filter_density)
Filter Wheel: Ti filter on polyimide

Filter material: ['TiO2' 'Ti' 'TiO2' 'polyimide']
Thickness:  [  75. 2338.    0. 2522.] Angstrom
Density:  [4.26 4.54 4.26 1.43] g / cm3

Geometry

We can explore geometry factors in the XRT using channel.geometry.

[8]:
print(channel.geometry.geometry_name)
print("\nFocal length:", channel.geometry.geometry_focal_len)
print("Aperture Area:", channel.geometry.geometry_aperture_area)
Hinode/XRT Flight Model geometry

Focal length: 270.753 cm
Aperture Area: 2.28 cm2

Mirror

The XRT is equipped with two mirrors, each having a unique configuration. We can access the properties of these mirrors using the channel_mirror_# notation, where # represents the first or second mirror surface. In this example, we will explore several XRT properties related to mirror 1 using the channel_mirror_1 object.

[9]:
print(channel.mirror_1.mirror_name)
print("Material: ", channel.mirror_1.mirror_material)
print("Density: ", channel.mirror_1.mirror_density)
print("Graze_angle: ", channel.mirror_1.mirror_graze_angle)
Hinode/XRT Flight Model mirror
Material:  Zerodur
Density:  2.5299999713897705 g / cm3
Graze_angle:  0.9100000262260437 deg

Instrument Plotting

Plotting XRT properties - Transmittance

Define the XRT transmission in channel by referencing transmission.

Define the XRT wavelength in channel by referencing wavelength.

Create a plotting function that plots the transmission versus wavelength.

[12]:
def plot_transmission():
    import matplotlib.pyplot as plt

    plt.figure(figsize=(10, 6))

    plt.plot(wavelength, transmission, label=f"{channel.name}")

    plt.title("X-Ray Telescope", fontsize=15)
    plt.xlabel(r"$\lambda$ [Å]", fontsize=15)
    plt.ylabel(r"Transmittance", fontsize=15)
    plt.legend(fontsize=20)
    plt.xlim(-5, 80)
    plt.xticks(fontsize=15)
    plt.yticks(fontsize=15)

    plt.grid(color="lightgrey")
    plt.show()

Run plot_transmission function to create the plot.

[13]:
plot_transmission()
../../_images/notebooks_getting_started_channel_35_0.png