You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: fftImage.m
    path of file: ./repos/ciatah/+ciapkg/+image
    
    the code of the file until where you have to start completion: function [inputImageFiltered, additionalOutput] = fftImage(inputImage,varargin)
	% Computes FFT on input image.
	% Biafra Ahanonu
	% started: 2013.11.09
	% inputs
		% inputImage - [x y] matrix
	% outputs
		% inputImageFiltered - [x y] matrix
	% example
		% test the lowpass and highpass on an image with a range of options
		% f = fftImage(frame,'runfftTest',1,'bandpassType','lowpass');
		% f = fftImage(frame,'runfftTest',1,'bandpassType','highpass');

	% below information was helpful in devising the function
		% http://www.mathworks.com/help/matlab/ref/fft2.html
		% https://www.cs.auckland.ac.nz/courses/compsci773s1c/lectures/ImageProcessing-html/topic1.htm
		% http://math-reference.com/s_fourier.html
		% http://wayback.archive.org/web/20130513181427/http://sharp.bu.edu/~slehar/fourier/fourier.html#filtering
		% http://www.dspguide.com/ch24/5.htm
		% http://astro.berkeley.edu/~jrg/ngst/fft/fourier.html
		% http://matlabgeeks.com/tips-tutorials/how-to-do-a-2-d-fourier-transform-in-matlab/
		% http://www.mathworks.com/matlabcentral/fileexchange/30947-gaussian-bandpass-filter-for-image-processing/content/gaussianbpf.m
		% http://qsimaging.com/ccd_noise_interpret_ffts.html

	% changelog
		% 2013.11.09 [13:21:06] updated function so it no longer converts to uint8 as this causes problems. Also, changed inputImageFiltered = inputImageFFT + filter3.*inputImageFFT; to inputImageFiltered = filter3.*inputImageFFT;
		% 2014.06.03 - updated to do binary fft
		% 2014.06.04 - added padding to reduce edge effects on the image
		% 2014.06.26 - update gaussian filter, using fspecial now and removed fft2 padding from original function
		% 2017.01.14 [20:06:04] - support switched from [nSignals x y] to [x y nSignals]
		% 2018.09.04 [17:31:47] - option to have padding optimized for power of 2, increasing fft speed by about 4.5x.
		% 2021.08.08 [19:30:20] - Updated to handle CIAtah v4.0 switch to all functions inside ciapkg package.

    
function [inputImageFiltered, additionalOutput] = fftImage(inputImage,varargin)
	% Computes FFT on input image.
	% Biafra Ahanonu
	% started: 2013.11.09
	% inputs
		% inputImage - [x y] matrix
	% outputs
		% inputImageFiltered - [x y] matrix
	% example
		% test the lowpass and highpass on an image with a range of options
		% f = fftImage(frame,'runfftTest',1,'bandpassType','lowpass');
		% f = fftImage(frame,'runfftTest',1,'bandpassType','highpass');

	% below information was helpful in devising the function
		% http://www.mathworks.com/help/matlab/ref/fft2.html
		% https://www.cs.auckland.ac.nz/courses/compsci773s1c/lectures/ImageProcessing-html/topic1.htm
		% http://math-reference.com/s_fourier.html
		% http://wayback.archive.org/web/20130513181427/http://sharp.bu.edu/~slehar/fourier/fourier.html#filtering
		% http://www.dspguide.com/ch24/5.htm
		% http://astro.berkeley.edu/~jrg/ngst/fft/fourier.html
		% http://matlabgeeks.com/tips-tutorials/how-to-do-a-2-d-fourier-transform-in-matlab/
		% http://www.mathworks.com/matlabcentral/fileexchange/30947-gaussian-bandpass-filter-for-image-processing/content/gaussianbpf.m
		% http://qsimaging.com/ccd_noise_interpret_ffts.html

	% changelog
		% 2013.11.09 [13:21:06] updated function so it no longer converts to uint8 as this causes problems. Also, changed inputImageFiltered = inputImageFFT + filter3.*inputImageFFT; to inputImageFiltered = filter3.*inputImageFFT;
		% 2014.06.03 - updated to do binary fft
		% 2014.06.04 - added padding to reduce edge effects on the image
		% 2014.06.26 - update gaussian filter, using fspecial now and removed fft2 padding from original function
		% 2017.01.14 [20:06:04] - support switched from [nSignals x y] to [x y nSignals]
		% 2018.09.04 [17:31:47] - option to have padding optimized for power of 2, increasing fft speed by about 4.5x.
		% 2021.08.08 [19:30:20] - Updated to handle CIAtah v4.0 switch to all functions inside ciapkg package.
		% 2022.02.09 [23:51:18] - Misc code fixes to conform to better Matlab language standards.
	% TODO
		% something...

	import ciapkg.api.* % import CIAtah functions in ciapkg package API.

	%========================
	% binary or gaussian
	options.bandpassMask = 'gaussian';
	% run a test over a range of frequencies
	% 0 = no, 1 = yes
	options.runfftTest = 0;
	% low frequency to have as cutoff
	options.lowFreq = 7;
	% high frequency to have as cutoff
	options.highFreq = 300;
	% take actual filters as inputs
	options.highpassFilter = [];
	options.lowpassFilter = [];
	options.cutoffFilter = [];
	% 1 = yes, 0 = no, pad image (e.g. remove halo around the edge)
	options.padImage = 1;
	%
	options.padImageVersion = 2;
	% add padding to the image
	options.padSize = round(1.0*mean(size(inputImage)));
	% highpass, lowpass, bandpass
	options.bandpassType = 'highpass';
	% show the frequency spectrum and images, for analysis purposes
	% 0 = no, 1 = yes
	options.showImages = 0;
	% get options
	options = getOptions(options,varargin);
	% display(options)
	% unpack options into current workspace
	% fn=fieldnames(options);
	% for i=1:length(fn)
	% 	eval([fn{i} '=options.' fn{i} ';']);
	% end