Skip to content

QC.json is saved for the latest session and not for all ASL session #1514

@jan-petr

Description

@jan-petr

Description

If we have several ASL sessions, then the QC.json and Report.pdf are only saved with the latest of the ASL sessions. And it doesn't even correctly indicate which session is that.
We need to correctly write the session to the PDF. And we need to add a list of sessions to the QC.json rather than listing only one non-specific session.

Tasks

  • While collecting QC, we don't collect ASL_1 with hardcoded 1, but instead collect the current session. 20c15e1
  • While saving QC to json, we save different ASL sessions into x.Output.ASL.ASL_1 etc. 167e48f and 16f90ef
  • While saving QC.json, we save all that is in x.Output. But if we processing sessions 1 and 2. And then later add session 3 and process again, then sessions 1 and 2 won't be in x and the QC.json will only have session 3 with session 1 and 2 overwritten. I propose to always load old QC.json and updating it. Rather than deleting all previous stuff. It is of course possible that all that was previously in x.Output stayed there, so that reloading QC.json won't be necessary. I'll check both options. JAN: No change was necessary at the end.
  • For backwards compatibility - delete everything from x.Output.ASL that is not ASL_XX 5a0cae8
  • Update function to create PDF report 06c805f
  • Should we update also xASL_qc_WADQC_GenerateDescriptor?? Because it also goes through ASL_1 only, but I'm not sure if this is a mistake or design this time :) @HenkMutsaerts
    Yes, we should. This is a way to put QC from ExploreASL back in DICOMs, written partly by Joost Kuijer.
    Let's do this later, we'll find this out when using this again, we haven't used this for 5 years now :)
  • Create PDF report still only prints session ASL_1. Should we make a new issue for that? @HenkMutsaerts
    HENK: I wouldn't bother. This code that I wrote just prints a single page so there is probably simply no space, even
    though you already rewrote my code in this issue to allow more than one ASL session.
    When Maarten applies his PDF that allows multiple pages, and is more flexible, we can print multiple sessions.
    JAN: OK, I will make a follow-up issue then - in Multi-session PDF report #1522
  • We should write a session sub-structure to x.Output also for T1, func, and dwi. And add sessions to this.

How to test

Optional: insert description about how to test the code changes here

Release notes

Save QC values and images for multiple runs

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions