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_background** *(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.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.
@ -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.
* **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)
It can set the searching name of those three satandard images. The defualt names are "atoms", "background" and "dark".
@ -59,7 +59,7 @@ It can set the searching name of those three satandard images. The defualt names
### Return
* Nothing
## absorption_imaging.get_image_absorption()
## 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
@ -70,7 +70,7 @@ It will calculate the absorption imaging and update the value storing in **self.
### 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.
## absorption_imaging.get_atom_number()
## absorption_imaging.get_atom_number
> 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.
@ -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.
## 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**