irfpy.jdc.fov1

JDC fov module (16 azim 4 elev version)

It is not yet clear the exact FOV of JDC. However, we need some model for it.

Here we assume 90x360 (half-hemisphere) for full view, with 4x16 bin separations. This will give you 22.5 degrees resolution. FWHM of 22.5 deg is also assumed.

irfpy.jdc.fov1.elev_pix_center(nel)[source]

Elevation pixel center in degrees.

The JDC has two units. Number definition is 0 as the zenith looking, and 3 as horizontal looking. The definition of angle, \(\theta\) is 0 for zenith looking and 90 is horizontal looking.

Note

The numbering definition is opposite from irfpy.jdc.fov0.

Thus, the expression is

\[\theta = 22.5 * nel + 11.25\]
Parameters

nel (int, float or np.array.) – Number of elevation. 0 to 3 (or more in general from -0.5 to 3.5).

Returns

The elevation angle in degrees.

Return type

np.array

Note that the nel is usually int or np.array with dtype=np.int, but float may also be allowed for special use.

>>> print(elev_pix_center(0))
11.25
>>> print(elev_pix_center(2))
56.25
>>> print(elev_pix_center([-0.5, 3.5]))
[ 0. 90.]

Note also that the returned type is np.array object, even the given parameter is a scalar. In this case, np.array object with shape () is returned.

>>> print(elev_pix_center(3.5).shape)
()
irfpy.jdc.fov1.elev_pix_fwhm(nel)[source]

Return the FWHM

Always 22.5

irfpy.jdc.fov1.azim_pix_center(naz)[source]

Return the azimuthal angle for the given channel number(s).

Similar to elev_pix_center(), the azimuthal angle, \(\phi\) is returned.

\[\phi = naz * 22.5 + 11.25\]
>>> print(azim_pix_center(0))
11.25
>>> print(azim_pix_center(15))
348.75
>>> print(azim_pix_center([6, 7, 8]))
[146.25 168.75 191.25]
irfpy.jdc.fov1.azim_pix_fwhm(naz)[source]

Return the FWHM

For draft, I just return 19.5 for simplicity.