code: def test_neurosynth_words_vectorized(tmp_path):
      n_im = 5
      words_files = [
          tmp_path / f"words_for_image_{i}.json" for i in range(n_im)
      ]
      words = [str(i) for i in range(n_im)]
      for i, file_name in enumerate(words_files):
          word_weights = np.zeros(n_im)
          word_weights[i] = 1
          words_dict = {
              "data": {"values": dict(zip(words, word_weights))}
          }
          with open(file_name, "wb") as words_file:
              words_file.write(json.dumps(words_dict).encode("utf-8"))
      freq, _ = neurovault.neurosynth_words_vectorized(words_files)
  
      assert freq.shape == (n_im, n_im)
      assert (freq.sum(axis=0) == np.ones(n_im)).all()
  
imports: import hashlib
  import json
  import os
  import re
  import stat
  from urllib import parse
  import numpy
  import pandas
  import pytest
  import requests
  from nilearn._utils.data_gen import generate_fake_fmri
  from nilearn.conftest import _rng
  from nilearn.datasets import neurovault
  from nilearn.image import load_img
label_desc: Use image node_id 28 for calling a global function with example usage: test_neurosynth_words_vectorized(tmp_path) without return types