Mriqc rating widget for large datasets and submission to the API

Summary of what happened:

Hello everyone!

First of all thanks for this fantastic piece of software.

I have run mriqc on a few scans and I am now trying to use the rating widget to assess their quality manually. However, the widget would only output json files named ‘unkown_unspecified.json’ in the download folder, which makes it hard to use at scale.

I did a bit of research and found out that this function was responsible for generating the report :

function read_form() {
	var ds = "{{ metadata.dataset }}";
	var sub = "{{ metadata.filename }}";

	var artifacts = [];
	{% if config.components.artifacts %}
	$('#{{ }}-group input:checked').each(function() {
	{% endif %}

	var rating = $('#{{ }}').val();
	var payload = {
    	'dataset': ds,
    	'subject': sub,
    	'rating': rating,
    	{% if config.components.artifacts %}
    	'artifacts': artifacts,
    	{% endif %}
    	'time_sec': ( - timestamp) / 1000,
    	'confidence': $('#{{ }}-confidence').val(),
    	'comments': $('#{{ }}-comments').val()

	var file = new Blob([JSON.stringify(payload)], {type: 'text/json'});
	$('#{{ config.components.actions[0].id }}').attr('href', URL.createObjectURL(file));
	$('#{{ config.components.actions[0].id }}').attr('download', payload['dataset'] + "_" + payload['subject'] + ".json");
	return payload

In my case metadata.dataset and metadata.filename respectively default to unknown and unspecified. I am not familiar with embed javascript, so I can’t tell where this metadata variable is supposed to come from. Is there a way to automatically fill this information?

Moreover, from what I’ve seen online there used to be an option to submit ratings to the mriqc API, but I can’t see it in my current version.

Command used (and if a helper script was used, a link to the helper script or the command generated):

Command to generate the reports :

SINGULARITY_CMD="singularity run --cleanenv -B $BIDS_DIR:/data ~/data/mriqc-latest.simg"

# Compose the command line
cmd="${SINGULARITY_CMD} /data /data/${DERIVS_DIR} participant \
--participant-label $subject \
--modalities T1w bold \
-w ~/Runs/Slurm/ -vv --mem_gb 8 --nprocs 4"

# Setup done, run the command
module load singularity
echo Running task ${SLURM_ARRAY_TASK_ID}
echo Commandline: $cmd
eval $cmd


MRIQC v23.1.0

Environment (Docker, Singularity, custom installation):

Singularity container on a linux server

Data formatted according to a validatable standard? Please provide the output of the validator:

The input directory is BIDS validated

Screenshots / relevant information: