code: def mask(in_file, mask_file, new_name):
      
      import nibabel as nb
      import os
      # Load the input image
      in_nii = nb.load(in_file)
      # Load the mask image
      mask_nii = nb.load(mask_file)
      # Set all non-mask voxels in the input file to zero.
      data = in_nii.get_data()
      data[mask_nii.get_data() == 0] = 0
      # Save the new masked image.
      new_nii = nb.Nifti1Image(data, in_nii.affine, in_nii.header)
      new_nii.to_filename(new_name)
      return os.path.abspath(new_name)
docs: Apply a binary mask to an image.
  
      Parameters
      ----------
      in_file : str
          Path to a NIfTI file to mask
      mask_file : str
          Path to a binary mask
      new_name : str
          Path/filename for the masked output image.
  
      Returns
      -------
      str
          Absolute path of the masked output image.
  
      Notes
      -----
      in_file and mask_file must be in the same
      image space and have the same dimensions.