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: fmri_mask_image.m
    path of file: ./repos/CanlabCore/CanlabCore/@fmri_mask_image
    
    the code of the file until where you have to start completion: % What is it?
% ------------------------------
% fmri_mask_image is a class of objects containing masks for neuroimaging
% data (not just fmri, really..
    
function obj = fmri_mask_image(image_name, varargin)
            
            % class constructor method
            % takes as input a mask image name
            
            % ---------------------------------
            % Create empty image_vector object, and return if no additional
            % arguments
            % ---------------------------------
            
            obj.dat = [];
            obj.volInfo = [];
            obj.image_names = [];
            obj.fullpath = char([]);
            obj.files_exist = false;
            obj.history = {};
            obj.volInfo_descrip = 'Empty';
            obj.space_defining_image_name = char('');
                
            if nargin == 0
                return
                
            elseif isa(image_name, 'image_vector')
                % map from existing image vector
                % copy legal fields
                
                N = fieldnames(image_name);
                Nmask = fieldnames(obj);
                for i = 1:length(Nmask)
                    if ~isempty(strmatch(Nmask{i}, N))
                        obj.(Nmask{i}) = image_name.(Nmask{i});
                    end