Problem with new version of Pulse when Deserialising Patient

Hey,
So in a Vanilla Project, we are trying to call the SerializeFromFile and passing in the StandardMale@0s.json File.

I keep Getting this error that stops it from serialising anymore. Used to work fine in the Older Version. Im using Pulse 4.2

LogPulse: Warning: [INFO] [0(s)] [SerializingFromFile] ../../../../../I3NucleusPOC/UE_POC/Content/states/StandardMale@0s.json
LogPulse: Warning: [INFO] [0(s)] Human Adult Whole Body
LogPulse: Warning: [INFO] [0(s)] Version : 4.2.0
LogPulse: Warning: [INFO] [0(s)] GitHash : 
LogPulse: Warning: [INFO] [0(s)] Build Time : Wed Apr 17 19:28:54 2024
LogPulse: Warning: [WARN] [0(s)] Protobuf could not SerializeFromString: INVALID_ARGUMENT: invalid JSON  in pulse.engine.bind.StateData  @ Cardiovascular: message pulse.engine.bind.CardiovascularData, near 802:36 (offset 13789):   no such field: 'CardiacCyclePerfusionVolume_mL'

Funny thing is. This Key Exists in the JSON

Pulse does not know what to do with that key in the JSON, it is no longer part of the Pulse data model in the build you are trying to load

Each of these variables are associated with the mathmatics of the model implementation.
As we improve models, the math and variables can change

You will need to replace the StandardMale@0s.json file with one generated from the build associated with the Pulse binary you are using

Oh Thanks. If im building from source where can i find the file ?

install/bin/states

1 Like


Dont seem to have that folder

My CMake Configuration when building
image

It should have been generated via the build, but you can manually generate them by running the genData and genStates options via our development/testing scripts


D:\I3NucleusPOC\PulseSrc\EngineBuild\install\bin>run genData

D:\I3NucleusPOC\PulseSrc\EngineBuild\install\bin>cmake -DTYPE:STRING=genData -DARG1:STRING= -DARG2:STRING= -P run.cmake
Error: Could not find or load main class com.kitware.pulse.dataset.DataSetReader
Error: Could not find or load main class com.kitware.pulse.dataset.ValidationDataSetReader
Traceback (most recent call last):
  File "D:\I3NucleusPOC\PulseSrc\EngineBuild\install\python\pulse\dataset\generate_data.py", line 4, in <module>
    from pulse.dataset.segment_validation_pipeline import *
  File "D:\I3NucleusPOC\PulseSrc\EngineBuild\install\python\pulse\dataset\segment_validation_pipeline.py", line 9, in <module>
    import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib'

D:\I3NucleusPOC\PulseSrc\EngineBuild\install\bin>run genStates

D:\I3NucleusPOC\PulseSrc\EngineBuild\install\bin>cmake -DTYPE:STRING=genStates -DARG1:STRING= -DARG2:STRING= -P run.cmake
Error: Could not find or load main class com.kitware.pulse.cdm.testing.SETestDriver

D:\I3NucleusPOC\PulseSrc\EngineBuild\install\bin>

To use these tools, you need to build with Java and Python enabled

Ah ok thanks.

I followed all the steps provided on the site and as you guided me.
genData runs properly but genStates Fails I’ve provided the error message below

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffc78966b12, pid=28248, tid=0x0000000000007b10
#
# JRE version: OpenJDK Runtime Environment (8.0_412-b08) (build 1.8.0_412-b08)
# Java VM: OpenJDK 64-Bit Server VM (25.412-b08 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [Pulse.dll+0xc6b12]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

The rest is just memory addresses .

We tried using the Json file provided in the latest pulse explorer.
When loading the file it still has parameters it does not know what to do with

LogPulse: Warning: [INFO] [0(s)] [SerializingFromFile] ../../../../../I3NucleusPOC/UE_POC/Content/states/StandardMale@0s.json
LogPulse: Warning: [INFO] [0(s)] Human Adult Whole Body
LogPulse: Warning: [INFO] [0(s)] Version : 4.2.0
LogPulse: Warning: [INFO] [0(s)] GitHash : 
LogPulse: Warning: [INFO] [0(s)] Build Time : Fri Apr 19 01:22:58 2024
LogPulse: Warning: [WARN] [0(s)] Protobuf could not SerializeFromString: INVALID_ARGUMENT: invalid JSON in pulse.engine.bind.StateData @  Respiratory: message   pulse.engine.bind.RespiratoryData,   near  1738:38 (offset   31088):  no such field:  'LeftTopBreathAcinar

See if you can run install\bin>PulseScenarioDriver.exe InitialPatientState.json