Head model for source

Hi everybody,
I am trying to use a specific head model file to compute sources.
I can extract the head model structure using the function bst_get

Headmodel = bst_get('HeadModelFile', headmodel_directory);

however it is not clear to me how can I enter (as an option) to the following function to compute sources the Headmodel I just extracted.

    % Process: Compute sources [2018]
    sFiles = bst_process('CallProcess', 'process_inverse_2018', sFiles, [], ...
        'output',  1, ...  % Kernel only: shared
        'inverse', struct(...
        'Comment',        'dSPM: MEG ALL', ...
        'InverseMethod',  'minnorm', ...
        'InverseMeasure', 'dspm2018', ...
        'SourceOrient',   {{'fixed'}}, ...
        'Loose',          0.2, ...
        'UseDepth',       1, ...
        'WeightExp',      0.5, ...
        'WeightLimit',    10, ...
        'NoiseMethod',    'reg', ...
        'NoiseReg',       0.1, ...
        'SnrMethod',      'fixed', ...
        'SnrRms',         1e-06, ...
        'SnrFixed',       3, ...
        'ComputeKernel',  1, ...
        'DataTypes',      {{'MEG GRAD', 'MEG MAG'}}));

So far I circumvented this issue by copying the head model in the folder containing the data I wanted to source localise.

So far I circumvented this issue by copying the head model in the folder containing the data I wanted to source localise.

This is actually what you need to do.
The high-level functions do not take directly the input files as arguments, they get the files from the database structure. This process "process_inverse_2018" takes recordings in input (argument sFiles, which contains pointers to "data" files) and then gets the default head model for these files (= the one displayed in green in the same folder as the channel file corresponding to each of the "data" files in sFiles).

Does it make sense?

Thank you for your help Francois. Yes, totally makes sense.
The reason why I was looking for an alternative to the copy paste is that I have many "conditions" (~20), with each condition folder containing an head model, each head model is ~100 MB. With 20 conditions * 30 subjects I end up with several GB of head models. Not a big issue but still if there was a way to tell to the function process_inverse_2018 that the head model you want to use is not the one in the same folder but one in another folder, this could be avoided (one head model could be used for several conditions with no copy paste).
On a minor, though related, note I could not find a way to script the copy paste of the head model in the different folders. Is manually the only way?
Thank you in advance!

Good point. But I don't have any better solution to offer for now...
The way I build this structure many years ago was to give the option share the channel file across folders within one subject, or across all subjects. But the channel file includes the SSP (which are typically different for each recording session), and goes with the noise covariance matrix (which cannot be shared across subjects) and the head model. So in the end, the channel file + head model sharing is not really possible...

To copy the headmodel from a script, you can find some inspiration in the script attached to the group analysis tutorial: