# {py:mod}`abtem.magnetism.iam`

```{py:module} abtem.magnetism.iam
```

```{autodoc2-docstring} abtem.magnetism.iam
:parser: rst
:allowtitles:
```

## Module Contents

### Classes

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`BaseMagneticField <abtem.magnetism.iam.BaseMagneticField>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.BaseMagneticField
    :parser: rst
    :summary:
    ```
* - {py:obj}`BaseVectorPotential <abtem.magnetism.iam.BaseVectorPotential>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.BaseVectorPotential
    :parser: rst
    :summary:
    ```
* - {py:obj}`MagneticField <abtem.magnetism.iam.MagneticField>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.MagneticField
    :parser: rst
    :summary:
    ```
* - {py:obj}`MagneticFieldArray <abtem.magnetism.iam.MagneticFieldArray>`
  -
* - {py:obj}`QuasiDipoleMagneticFieldProjections <abtem.magnetism.iam.QuasiDipoleMagneticFieldProjections>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleMagneticFieldProjections
    :parser: rst
    :summary:
    ```
* - {py:obj}`QuasiDipoleProjections <abtem.magnetism.iam.QuasiDipoleProjections>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections
    :parser: rst
    :summary:
    ```
* - {py:obj}`QuasiDipoleVectorPotentialProjections <abtem.magnetism.iam.QuasiDipoleVectorPotentialProjections>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleVectorPotentialProjections
    :parser: rst
    :summary:
    ```
* - {py:obj}`VectorPotential <abtem.magnetism.iam.VectorPotential>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.VectorPotential
    :parser: rst
    :summary:
    ```
* - {py:obj}`VectorPotentialArray <abtem.magnetism.iam.VectorPotentialArray>`
  -
````

### Functions

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`atomic_magnetic_field_3d <abtem.magnetism.iam.atomic_magnetic_field_3d>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.atomic_magnetic_field_3d
    :parser: rst
    :summary:
    ```
* - {py:obj}`atomic_vector_potential_3d <abtem.magnetism.iam.atomic_vector_potential_3d>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.atomic_vector_potential_3d
    :parser: rst
    :summary:
    ```
* - {py:obj}`bilinear_weighted_sum <abtem.magnetism.iam.bilinear_weighted_sum>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.bilinear_weighted_sum
    :parser: rst
    :summary:
    ```
* - {py:obj}`cartesian2polar_3d <abtem.magnetism.iam.cartesian2polar_3d>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.cartesian2polar_3d
    :parser: rst
    :summary:
    ```
* - {py:obj}`index_mask <abtem.magnetism.iam.index_mask>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.index_mask
    :parser: rst
    :summary:
    ```
* - {py:obj}`interpolate <abtem.magnetism.iam.interpolate>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.interpolate
    :parser: rst
    :summary:
    ```
* - {py:obj}`interpolate_quasi_dipole_field_projections <abtem.magnetism.iam.interpolate_quasi_dipole_field_projections>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.interpolate_quasi_dipole_field_projections
    :parser: rst
    :summary:
    ```
* - {py:obj}`interpolate_quasi_dipole_vector_field_projections <abtem.magnetism.iam.interpolate_quasi_dipole_vector_field_projections>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.interpolate_quasi_dipole_vector_field_projections
    :parser: rst
    :summary:
    ```
* - {py:obj}`magnetic_field_3d <abtem.magnetism.iam.magnetic_field_3d>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.magnetic_field_3d
    :parser: rst
    :summary:
    ```
* - {py:obj}`radial_cutoff <abtem.magnetism.iam.radial_cutoff>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.radial_cutoff
    :parser: rst
    :summary:
    ```
* - {py:obj}`radial_prefactor_a <abtem.magnetism.iam.radial_prefactor_a>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.radial_prefactor_a
    :parser: rst
    :summary:
    ```
* - {py:obj}`radial_prefactor_b1 <abtem.magnetism.iam.radial_prefactor_b1>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.radial_prefactor_b1
    :parser: rst
    :summary:
    ```
* - {py:obj}`radial_prefactor_b2 <abtem.magnetism.iam.radial_prefactor_b2>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.radial_prefactor_b2
    :parser: rst
    :summary:
    ```
* - {py:obj}`rotate_points_2d <abtem.magnetism.iam.rotate_points_2d>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.rotate_points_2d
    :parser: rst
    :summary:
    ```
* - {py:obj}`symmetric_arange <abtem.magnetism.iam.symmetric_arange>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.symmetric_arange
    :parser: rst
    :summary:
    ```
* - {py:obj}`unit_vector_from_angles <abtem.magnetism.iam.unit_vector_from_angles>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.unit_vector_from_angles
    :parser: rst
    :summary:
    ```
* - {py:obj}`vector_potential_3d <abtem.magnetism.iam.vector_potential_3d>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.vector_potential_3d
    :parser: rst
    :summary:
    ```
````

### Data

````{list-table}
:class: autosummary longtable
:align: left

* - {py:obj}`CUTOFF <abtem.magnetism.iam.CUTOFF>`
  - ```{autodoc2-docstring} abtem.magnetism.iam.CUTOFF
    :parser: rst
    :summary:
    ```
````

### API

`````{py:class} BaseMagneticField
:canonical: abtem.magnetism.iam.BaseMagneticField

Bases: {py:obj}`abtem.potentials.iam.BaseField`

```{autodoc2-docstring} abtem.magnetism.iam.BaseMagneticField
:parser: rst
```

````{py:property} base_axes_metadata
:canonical: abtem.magnetism.iam.BaseMagneticField.base_axes_metadata

```{autodoc2-docstring} abtem.magnetism.iam.BaseMagneticField.base_axes_metadata
:parser: rst
```

````

````{py:property} base_shape
:canonical: abtem.magnetism.iam.BaseMagneticField.base_shape

```{autodoc2-docstring} abtem.magnetism.iam.BaseMagneticField.base_shape
:parser: rst
```

````

`````

`````{py:class} BaseVectorPotential
:canonical: abtem.magnetism.iam.BaseVectorPotential

Bases: {py:obj}`abtem.potentials.iam.BaseField`

```{autodoc2-docstring} abtem.magnetism.iam.BaseVectorPotential
:parser: rst
```

````{py:property} base_axes_metadata
:canonical: abtem.magnetism.iam.BaseVectorPotential.base_axes_metadata

```{autodoc2-docstring} abtem.magnetism.iam.BaseVectorPotential.base_axes_metadata
:parser: rst
```

````

````{py:property} base_shape
:canonical: abtem.magnetism.iam.BaseVectorPotential.base_shape

```{autodoc2-docstring} abtem.magnetism.iam.BaseVectorPotential.base_shape
:parser: rst
```

````

`````

````{py:data} CUTOFF
:canonical: abtem.magnetism.iam.CUTOFF
:value: >
   4.25

```{autodoc2-docstring} abtem.magnetism.iam.CUTOFF
:parser: rst
```

````

````{py:class} MagneticField(...)
:canonical: abtem.magnetism.iam.MagneticField

Bases: {py:obj}`abtem.potentials.iam._FieldBuilderFromAtoms`, {py:obj}`abtem.magnetism.iam.BaseMagneticField`

```{autodoc2-docstring} abtem.magnetism.iam.MagneticField
:parser: rst
```

```{rubric} Initialization
```

```{autodoc2-docstring} abtem.magnetism.iam.MagneticField.__init__
:parser: rst
```

````

`````{py:class} MagneticFieldArray(...)
:canonical: abtem.magnetism.iam.MagneticFieldArray

Bases: {py:obj}`abtem.magnetism.iam.BaseMagneticField`, {py:obj}`abtem.potentials.iam.FieldArray`

````{py:method} from_array_and_metadata(...) -> abtem.magnetism.iam.MagneticFieldArray
:canonical: abtem.magnetism.iam.MagneticFieldArray.from_array_and_metadata
:abstractmethod:
:classmethod:

````

`````

````{py:class} QuasiDipoleMagneticFieldProjections(...)
:canonical: abtem.magnetism.iam.QuasiDipoleMagneticFieldProjections

Bases: {py:obj}`abtem.magnetism.iam.QuasiDipoleProjections`

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleMagneticFieldProjections
:parser: rst
```

```{rubric} Initialization
```

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleMagneticFieldProjections.__init__
:parser: rst
```

````

`````{py:class} QuasiDipoleProjections(...)
:canonical: abtem.magnetism.iam.QuasiDipoleProjections

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections
:parser: rst
```

```{rubric} Initialization
```

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.__init__
:parser: rst
```

````{py:method} cutoff(...)
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.cutoff

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.cutoff
:parser: rst
```

````

````{py:property} finite
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.finite

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.finite
:parser: rst
```

````

````{py:method} get_integral_table(...)
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.get_integral_table

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.get_integral_table
:parser: rst
```

````

````{py:method} integrate_on_grid(...)
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.integrate_on_grid

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.integrate_on_grid
:parser: rst
```

````

````{py:property} parametrization
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.parametrization

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.parametrization
:parser: rst
```

````

````{py:property} periodic
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.periodic

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.periodic
:parser: rst
```

````

````{py:property} sampling
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.sampling

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.sampling
:parser: rst
```

````

````{py:property} slice_thickness
:canonical: abtem.magnetism.iam.QuasiDipoleProjections.slice_thickness

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleProjections.slice_thickness
:parser: rst
```

````

`````

````{py:class} QuasiDipoleVectorPotentialProjections(...)
:canonical: abtem.magnetism.iam.QuasiDipoleVectorPotentialProjections

Bases: {py:obj}`abtem.magnetism.iam.QuasiDipoleProjections`

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleVectorPotentialProjections
:parser: rst
```

```{rubric} Initialization
```

```{autodoc2-docstring} abtem.magnetism.iam.QuasiDipoleVectorPotentialProjections.__init__
:parser: rst
```

````

````{py:class} VectorPotential(...)
:canonical: abtem.magnetism.iam.VectorPotential

Bases: {py:obj}`abtem.potentials.iam._FieldBuilderFromAtoms`, {py:obj}`abtem.magnetism.iam.BaseMagneticField`

```{autodoc2-docstring} abtem.magnetism.iam.VectorPotential
:parser: rst
```

```{rubric} Initialization
```

```{autodoc2-docstring} abtem.magnetism.iam.VectorPotential.__init__
:parser: rst
```

````

`````{py:class} VectorPotentialArray(...)
:canonical: abtem.magnetism.iam.VectorPotentialArray

Bases: {py:obj}`abtem.magnetism.iam.BaseVectorPotential`, {py:obj}`abtem.potentials.iam.FieldArray`

````{py:method} adjust_coulomb_potential(...)
:canonical: abtem.magnetism.iam.VectorPotentialArray.adjust_coulomb_potential

```{autodoc2-docstring} abtem.magnetism.iam.VectorPotentialArray.adjust_coulomb_potential
:parser: rst
```

````

````{py:method} from_array_and_metadata(...) -> abtem.magnetism.iam.VectorPotentialArray
:canonical: abtem.magnetism.iam.VectorPotentialArray.from_array_and_metadata
:abstractmethod:
:classmethod:

````

`````

````{py:function} atomic_magnetic_field_3d(...) -> numpy.ndarray
:canonical: abtem.magnetism.iam.atomic_magnetic_field_3d

```{autodoc2-docstring} abtem.magnetism.iam.atomic_magnetic_field_3d
:parser: rst
```
````

````{py:function} atomic_vector_potential_3d(...) -> numpy.ndarray
:canonical: abtem.magnetism.iam.atomic_vector_potential_3d

```{autodoc2-docstring} abtem.magnetism.iam.atomic_vector_potential_3d
:parser: rst
```
````

````{py:function} bilinear_weighted_sum(...) -> float
:canonical: abtem.magnetism.iam.bilinear_weighted_sum

```{autodoc2-docstring} abtem.magnetism.iam.bilinear_weighted_sum
:parser: rst
```
````

````{py:function} cartesian2polar_3d(...) -> tuple[float, float, float]
:canonical: abtem.magnetism.iam.cartesian2polar_3d

```{autodoc2-docstring} abtem.magnetism.iam.cartesian2polar_3d
:parser: rst
```
````

````{py:function} index_mask(...)
:canonical: abtem.magnetism.iam.index_mask

```{autodoc2-docstring} abtem.magnetism.iam.index_mask
:parser: rst
```
````

````{py:function} interpolate(...)
:canonical: abtem.magnetism.iam.interpolate

```{autodoc2-docstring} abtem.magnetism.iam.interpolate
:parser: rst
```
````

````{py:function} interpolate_quasi_dipole_field_projections(...)
:canonical: abtem.magnetism.iam.interpolate_quasi_dipole_field_projections

```{autodoc2-docstring} abtem.magnetism.iam.interpolate_quasi_dipole_field_projections
:parser: rst
```
````

````{py:function} interpolate_quasi_dipole_vector_field_projections(...)
:canonical: abtem.magnetism.iam.interpolate_quasi_dipole_vector_field_projections

```{autodoc2-docstring} abtem.magnetism.iam.interpolate_quasi_dipole_vector_field_projections
:parser: rst
```
````

````{py:function} magnetic_field_3d(...)
:canonical: abtem.magnetism.iam.magnetic_field_3d

```{autodoc2-docstring} abtem.magnetism.iam.magnetic_field_3d
:parser: rst
```
````

````{py:function} radial_cutoff(...)
:canonical: abtem.magnetism.iam.radial_cutoff

```{autodoc2-docstring} abtem.magnetism.iam.radial_cutoff
:parser: rst
```
````

````{py:function} radial_prefactor_a(...) -> typing.Callable
:canonical: abtem.magnetism.iam.radial_prefactor_a

```{autodoc2-docstring} abtem.magnetism.iam.radial_prefactor_a
:parser: rst
```
````

````{py:function} radial_prefactor_b1(...) -> typing.Callable
:canonical: abtem.magnetism.iam.radial_prefactor_b1

```{autodoc2-docstring} abtem.magnetism.iam.radial_prefactor_b1
:parser: rst
```
````

````{py:function} radial_prefactor_b2(...) -> typing.Callable
:canonical: abtem.magnetism.iam.radial_prefactor_b2

```{autodoc2-docstring} abtem.magnetism.iam.radial_prefactor_b2
:parser: rst
```
````

````{py:function} rotate_points_2d(...)
:canonical: abtem.magnetism.iam.rotate_points_2d

```{autodoc2-docstring} abtem.magnetism.iam.rotate_points_2d
:parser: rst
```
````

````{py:function} symmetric_arange(...) -> numpy.ndarray
:canonical: abtem.magnetism.iam.symmetric_arange

```{autodoc2-docstring} abtem.magnetism.iam.symmetric_arange
:parser: rst
```
````

````{py:function} unit_vector_from_angles(...) -> numpy.ndarray
:canonical: abtem.magnetism.iam.unit_vector_from_angles

```{autodoc2-docstring} abtem.magnetism.iam.unit_vector_from_angles
:parser: rst
```
````

````{py:function} vector_potential_3d(...)
:canonical: abtem.magnetism.iam.vector_potential_3d

```{autodoc2-docstring} abtem.magnetism.iam.vector_potential_3d
:parser: rst
```
````
