Now we need to get inputs for our Op, and ensure the output is displayed. These tasks can all be handled with additional [[Script_parameters|@Parameters]] added to the script:
: '''Note:''' the types we copied and pasted
just represent a ''minimum requirement''. Open images will almost always be <code>Datasets</code>, which themselves have an <code>ImgPlus< /code> , which has an <code>Img</code> which is a <code>RandomAccessibleInterval</code>. If you want multiple input images you should use <code>Dataset</code> . A safe alternative for single inputs is <code>ImgPlus</code>. Both of these classes contain additional metadata which can be useful in your script.
6. Our script is done! If we open a base image and kernel in ImageJ we can run our script. The <code>OpService</code> is populated automatically by the ImageJ framework, and an input window is automatically created to select the images: