engine merge requestshttps://gitlab.kitware.com/physiology/engine/-/merge_requests2021-06-15T22:14:08-04:00https://gitlab.kitware.com/physiology/engine/-/merge_requests/86Add BagValveMask equipment2021-06-15T22:14:08-04:00Aaron Brayaaron.bray@kitware.comAdd BagValveMask equipmentSupport mask or tube connection to respiratory system
3 Actions are provided to control the BVM
- Automatic : keeps squeezing the bag per perscribed action (set it and forget it)
- Squeeze : a single squeeze of the bag (button click on...Support mask or tube connection to respiratory system
3 Actions are provided to control the BVM
- Automatic : keeps squeezing the bag per perscribed action (set it and forget it)
- Squeeze : a single squeeze of the bag (button click on squeeze)
- Instantaneous : the flow or volume from the bag into the respiratory system (hardware/sensor driven)https://gitlab.kitware.com/physiology/engine/-/merge_requests/85Add Volume to SESubstanceInfusion2021-06-15T07:54:41-04:00Aaron Brayaaron.bray@kitware.comAdd Volume to SESubstanceInfusionDefaulted to 1L if not providedDefaulted to 1L if not providedhttps://gitlab.kitware.com/physiology/engine/-/merge_requests/84Fixed nullptr in new DeathState c# example2021-05-20T09:49:19-04:00Mattias Lantz CronqvistFixed nullptr in new DeathState c# exampleFixed nullptr bug if log not set in deathstate c# example.Fixed nullptr bug if log not set in deathstate c# example.https://gitlab.kitware.com/physiology/engine/-/merge_requests/833.2.0 Release2021-05-18T15:36:04-04:00Aaron Brayaaron.bray@kitware.com3.2.0 Releasehttps://gitlab.kitware.com/physiology/engine/-/merge_requests/82Documentation Update for 3.2 Release2021-05-18T15:11:55-04:00Aaron Brayaaron.bray@kitware.comDocumentation Update for 3.2 Releasehttps://gitlab.kitware.com/physiology/engine/-/merge_requests/81Create and manage a pool of physiology engines2021-05-17T16:17:16-04:00Aaron Brayaaron.bray@kitware.comCreate and manage a pool of physiology enginesA C++ implementation of a thread pool that can allocate and run any number of Pulse engines.
This engine pool is available for other languages to utilize, but only python support has been implemented and tested.
Having this managment on ...A C++ implementation of a thread pool that can allocate and run any number of Pulse engines.
This engine pool is available for other languages to utilize, but only python support has been implemented and tested.
Having this managment on the native side avoid issues created by managing threads in python, specifically this avoids having to deal with the global interpreter lock (GIL) in python. This infrastructure should help integration of Pulse into python based ML networks.
This implementation only supports upfront allocation of N engines. It does not support dynamically adding new engines once these engines have been constructed. (Future support for dynamic allocation in the future, as well as C# and Java)https://gitlab.kitware.com/physiology/engine/-/merge_requests/80Patient Support Features2021-04-22T08:32:27-04:00Aaron Brayaaron.bray@kitware.comPatient Support FeaturesAdded examples on:
- How to test for patient death using scenario context, events, and physiology values
- How to generate application states by using scenarios
- Fixed issue where stabilizing a second patient with the same engine was in...Added examples on:
- How to test for patient death using scenario context, events, and physiology values
- How to generate application states by using scenarios
- Fixed issue where stabilizing a second patient with the same engine was influenced by the first patient runhttps://gitlab.kitware.com/physiology/engine/-/merge_requests/79Serialization Testing Infrastructure2021-03-20T11:54:32-04:00Aaron Brayaaron.bray@kitware.comSerialization Testing InfrastructureEnsure that all the new models/actions/bug fixes to our methodology implementation for 3.2 is properly stateful where necessary.
As we support ability to save states, we need to ensure that there is little to no effect/difference between...Ensure that all the new models/actions/bug fixes to our methodology implementation for 3.2 is properly stateful where necessary.
As we support ability to save states, we need to ensure that there is little to no effect/difference between running the same scenario from stabilization vs loading a state from any point in the scenario. The end result of the scenario should be the same!
This MR address all the issues found with all the new additions between 3.1 and 3.2
I also added a lot of infrastrucre support to make this easier in the future to detect/diagnose/debug state issueshttps://gitlab.kitware.com/physiology/engine/-/merge_requests/78Custom timesteps2021-03-07T20:54:24-05:00Aaron Brayaaron.bray@kitware.comCustom timestepsAllow end users to set their own time step dynamically.
Needed for integration withthe Comupational Life high fidelity vasculature systemAllow end users to set their own time step dynamically.
Needed for integration withthe Comupational Life high fidelity vasculature systemhttps://gitlab.kitware.com/physiology/engine/-/merge_requests/77Ventilator Improvements2021-02-25T16:43:14-05:00Aaron Brayaaron.bray@kitware.comVentilator ImprovementsUpdated of the respiratory model, methodology, and disease application (conditions and actions) for improved responses and outcomes. We worked with SMEs to add significantly more validation and analysis, especially for ventilated patien...Updated of the respiratory model, methodology, and disease application (conditions and actions) for improved responses and outcomes. We worked with SMEs to add significantly more validation and analysis, especially for ventilated patients. Added many more ventilator scenarios to test (and demonstrate) pressure and volume control ventilation of sick patients.https://gitlab.kitware.com/physiology/engine/-/merge_requests/76Support Action Data Requests2021-02-23T13:50:53-05:00Aaron Brayaaron.bray@kitware.comSupport Action Data RequestsIn order to support adding action data requests, such as getting the flow rate of a specific hemorrhage, I needed to maintain action instances in the Action managers (in cdm/engine). We used to just allocate a new action, but now the mem...In order to support adding action data requests, such as getting the flow rate of a specific hemorrhage, I needed to maintain action instances in the Action managers (in cdm/engine). We used to just allocate a new action, but now the memory of all actions in the engine has to be consistent so I can pull it from the same location when requested.
I also refactored hemorrhage to support holding state and also updated the C++ to be cleaner (more STL friendly)https://gitlab.kitware.com/physiology/engine/-/merge_requests/75Fix warnings2021-01-14T22:11:04-05:00Aaron Brayaaron.bray@kitware.comFix warningsAnother round of fixing compiler warningsAnother round of fixing compiler warningshttps://gitlab.kitware.com/physiology/engine/-/merge_requests/74Update protobuf and Eigen to latest versions2021-01-14T14:19:22-05:00Harald ScheirichUpdate protobuf and Eigen to latest versionshttps://gitlab.kitware.com/physiology/engine/-/merge_requests/73Fix a series of warnings in the engine code2021-01-13T11:43:06-05:00Harald ScheirichFix a series of warnings in the engine codeThis is a set of changes to remove some of the warnings in the engine code, there are still warnings left in the code stemming from protobuff, the test code, and one warning type in the engine. Still needs full testing.
There were quit...This is a set of changes to remove some of the warnings in the engine code, there are still warnings left in the code stemming from protobuff, the test code, and one warning type in the engine. Still needs full testing.
There were quite a few variable defined that were unused, while some seemed just left over from development some look like physical or other constants. The latter were marked up with the keyword 'const' which at least prevents visual studio to warn about them.https://gitlab.kitware.com/physiology/engine/-/merge_requests/72Stop advancement on fatal2021-01-07T15:50:11-05:00Aaron Brayaaron.bray@kitware.comStop advancement on fatalListen internally for any fatals and trigger an irreversable state and stop advancing time
Advance time now returns a bool in C++, true if it was able to advance, false if not
C++ Loggers can also support multiple listeners nowListen internally for any fatals and trigger an irreversable state and stop advancing time
Advance time now returns a bool in C++, true if it was able to advance, false if not
C++ Loggers can also support multiple listeners nowHarald ScheirichHarald Scheirichhttps://gitlab.kitware.com/physiology/engine/-/merge_requests/71Add a java manifest file2021-01-04T15:49:56-05:00Aaron Brayaaron.bray@kitware.comAdd a java manifest fileAddesses #27Addesses #27mariniermarinierhttps://gitlab.kitware.com/physiology/engine/-/merge_requests/703.1.0 Release2020-11-27T09:22:17-05:00Aaron Brayaaron.bray@kitware.com3.1.0 Release- Configuration Actions Update
- Added Severity/Resistance Hemorrhage model
- Added (optional) Administration Time to Bolus Injection Action
- Black Box support for integration of external engines with Pulse circuits
- Update exception h...- Configuration Actions Update
- Added Severity/Resistance Hemorrhage model
- Added (optional) Administration Time to Bolus Injection Action
- Black Box support for integration of external engines with Pulse circuits
- Update exception handling in Java
- Improved C++ memory management
- Improvements to C++ architecture to allow fully customized engines
- Optimizations and Improvements to Data Requests, Plotting, and Reportinghttps://gitlab.kitware.com/physiology/engine/-/merge_requests/69Configuration Action Updates2020-11-25T09:06:39-05:00Aaron Brayaaron.bray@kitware.comConfiguration Action UpdatesIn fixing an issue in Java where the environment configuration was not properly passing a provided filename over to C++, I reviewed and addressed the same issue in all of the actions and conditions that can reference a configuration file...In fixing an issue in Java where the environment configuration was not properly passing a provided filename over to C++, I reviewed and addressed the same issue in all of the actions and conditions that can reference a configuration file in all of our current supported languages (C#, C++, Java, Python)https://gitlab.kitware.com/physiology/engine/-/merge_requests/68Hemorrhage Resistance2020-11-23T21:22:24-05:00Aaron Brayaaron.bray@kitware.comHemorrhage ResistanceAdd support to provide a severity for hemorrhage
This is implemented by adding a resistance to the circuit
In using a resistance, blood pressure will drop as will the flow rate
A few new system properties were also added in support of thisAdd support to provide a severity for hemorrhage
This is implemented by adding a resistance to the circuit
In using a resistance, blood pressure will drop as will the flow rate
A few new system properties were also added in support of thishttps://gitlab.kitware.com/physiology/engine/-/merge_requests/67Bolus update2020-11-17T14:04:02-05:00Aaron Brayaaron.bray@kitware.comBolus updateAdd support to specify an administration durationAdd support to specify an administration duration