```{index} single: Filters; ITK Not Image Filter
```
# ITK Not Image Filter

Implements the NOT logical operator pixel-wise on an image.

## Group (Subgroup)

ITKImageIntensity (ImageIntensity)

## Description

This class is templated over the type of an input image and the type of the output image. Numeric conversions (castings) are done by the C++ defaults.

Since the logical NOT operation operates only on boolean types, the input type must be implicitly convertible to bool, which is only defined in C++ for integer types, the images passed to this filter must comply with the requirement of using integer pixel type.

The total operation over one pixel will be

```
if( !A )

 {

 return this->m_ForegroundValue;

 }

return this->m_BackgroundValue;

```

Where "!" is the unary Logical NOT operator in C++.

![](Images/ITKNotImageFilter.png)


### Input Cell Data

| Parameter Name | Parameter Type | Parameter Notes | Description |
|----------------|----------------|-----------------|-------------|
| Image Geometry | Geometry Selection | Image | Select the Image Geometry Group from the DataStructure. |
| Input Cell Data | Array Selection | Allowed Types: int8, uint8, int16, uint16, int32, uint32, int64, uint64 | The image data that will be processed by this filter. |

### Output Cell Data

| Parameter Name | Parameter Type | Parameter Notes | Description |
|----------------|----------------|-----------------|-------------|
| Output Cell Data | DataObjectName |  | The result of the processing will be stored in this Data Array inside the same group as the input data. |

## Example Pipelines

## License & Copyright

Please see the description file distributed with this plugin.

## DREAM3D-NX Help

If you need help, need to file a bug report or want to request a new feature, please head over to the [DREAM3DNX-Issues](https://github.com/BlueQuartzSoftware/DREAM3DNX-Issues/discussions) GitHub site where the community of DREAM3D-NX users can help answer your questions.
