Update 'Absorption Imaging Class'

Jianshun Gao 2022-07-22 17:27:46 +02:00
parent abf50c3511
commit f73c0ec0c0

@ -8,7 +8,7 @@ This is a class for getting data of absorption imaging form three standard image
* **self.image_atoms** *(2D numpy array)*: storing the data of the fist image. * **self.image_atoms** *(2D numpy array)*: storing the data of the fist image.
* **self.image_background** *(2D numpy array)*: similar to previous one * **self.image_background** *(2D numpy array)*: similar to previous one
* **self.image_dark** *(2D numpy array)*: similar to previous one * **self.image_dark** *(2D numpy array)*: similar to previous one
* **self.image_absorption** *(2D numpy array)*: similar to previous one * **self.image_absorption** *(2D numpy array)*: similar to previous one. (The OD number)
* **self.detuning** *(float)*: laser beam detuning in Hz!!! * **self.detuning** *(float)*: laser beam detuning in Hz!!!
* **self.intensity** *(float)*: laser beam intersity at atom cloud in (W/m^2) * **self.intensity** *(float)*: laser beam intersity at atom cloud in (W/m^2)
* **self.beam_energy** *(float)*: The laser beam energy shooting on the camera during exposure. * **self.beam_energy** *(float)*: The laser beam energy shooting on the camera during exposure.
@ -47,7 +47,7 @@ Just for get the absorption imaging, it doesn't require any information about ca
* **detuning** *(float, optional)*: Detuning of the laser beam. * **detuning** *(float, optional)*: Detuning of the laser beam.
* **Intensity** *(float, optional)*: Laser beam intensity at the position of atom cloud! * **Intensity** *(float, optional)*: Laser beam intensity at the position of atom cloud!
## absorption_imaging.set_image_name() ## absorption_imaging.set_image_name
> dylab.absorption_imaging.set_image_name(image, name) > dylab.absorption_imaging.set_image_name(image, name)
It can set the searching name of those three satandard images. The defualt names are "atoms", "background" and "dark". It can set the searching name of those three satandard images. The defualt names are "atoms", "background" and "dark".
@ -59,8 +59,8 @@ It can set the searching name of those three satandard images. The defualt names
### Return ### Return
* Nothing * Nothing
## absorption_imaging.get_image_absorption() ## absorption_imaging.get_image_absorption
> dylab.absorption_imaging.get_image_absorption() > dylab.absorption_imaging.get_image_absorption()
It will calculate the absorption imaging and update the value storing in **self.absorption_imaging**, integrating in \_\_enter\_\_ function It will calculate the absorption imaging and update the value storing in **self.absorption_imaging**, integrating in \_\_enter\_\_ function
@ -70,8 +70,8 @@ It will calculate the absorption imaging and update the value storing in **self.
### Return: ### Return:
* **self.image_absorption** *(2D numpy array, optional)*: A two deminsional numpy array, which stores the calculation result. It will also update the value storing in **self.image_absorption**, so it not necessary to pick up the returned handle. * **self.image_absorption** *(2D numpy array, optional)*: A two deminsional numpy array, which stores the calculation result. It will also update the value storing in **self.image_absorption**, so it not necessary to pick up the returned handle.
## absorption_imaging.get_atom_number() ## absorption_imaging.get_atom_number
> dylab.absorption_imaging.absorption_imaging.get_atom_number(force_to_run=False) > dylab.absorption_imaging.absorption_imaging.get_atom_number(force_to_run=False)
It will return the value storing in **self.aton_number**. If there is no value, it will calculate the atom number and update the value storing in **self.aton_number**. It is also possible to force the program do the calculation and updating, even there is already an avaliable result. It will return the value storing in **self.aton_number**. If there is no value, it will calculate the atom number and update the value storing in **self.aton_number**. It is also possible to force the program do the calculation and updating, even there is already an avaliable result.
@ -82,3 +82,25 @@ It will return the value storing in **self.aton_number**. If there is no value,
* **self.atom_number** *(float, optional)*: The number of atoms. It will also update the value storing in **self.aton_number**, so it not necessary to pick up the returned value. * **self.atom_number** *(float, optional)*: The number of atoms. It will also update the value storing in **self.aton_number**, so it not necessary to pick up the returned value.
## absorption_imaging.plot_result
> dylab.absorption_imaging.absorption_imaging.plot_result(vmin=None, vmax=None)
It can plot the results with *jet* colormap. Meanwhile, it is possible to change the colorbar range of the absorption imaging.
### Parameters:
* **vmin** *(float, optionla)*: The lower limitation of the colorbar range of the absorption imaging.
* **vmax** *(float, optionla)*: The upper limitation of the colorbar range of the absorption imaging.
### Return:
* Nothing (except a figure window)
## absorption_imaging.get_beam_power
> dylab.absorption_imaging.get_beam_power(laser_pulse_duration)
It can calculate the laser beam power shooting on the camera during exposure.
### Parameters:
* **laser_pulse_duration** *(float, necessary)*: The duration of laser pulse.
### Return:
* **self.beam_energy / laser_pulse_duration** *(float, necessary)*: It will return the calculation result and update the value in **self.beam_energy**