... | ... | @@ -13,46 +13,13 @@ We also assume you have build the source code per instruction from our repositor |
|
|
* The build directory you set where you ran CMake, will be refereed to as `<pulse/build>`
|
|
|
* All commands will be run from a terminal in the `<pulse/build>/install/bin`, which we will refer to as `<pulse/bin>`
|
|
|
|
|
|
The script to run all of our tests, utilities, and tools is written in CMake to ensure cross platform compatibility. CMake should be available on your path to use these tools. We also provide a simple `run` batch/shell script wrapper around the CMake calling format to be run as follows :
|
|
|
|
|
|
```bash
|
|
|
# The CMake invocation
|
|
|
cmake -DTYPE:STRING=[command] -P run.cmake
|
|
|
# On Windows
|
|
|
> run [command]
|
|
|
# On Linux/Max
|
|
|
$ ./run.sh [command]
|
|
|
# Note you may need to do a
|
|
|
$ chmod +x run.sh
|
|
|
# To run this script on your machine
|
|
|
```
|
|
|
|
|
|
Where [command] can be one of the following values:
|
|
|
- genData - Generate pba files from data in the `<pulse/source>/data/Data.xlxs` file (Patients, Substances, etc.)
|
|
|
- genStates - Generate a state file for every patient at the point where the patient completed stabilization (Simulation time 0s)to `<pulse/bin>/states`
|
|
|
- SystemValidation - Will use `<pulse/source>/test/config/ValidationSystems.config` to create system validation tables in the `<pulse/bin>/test_results` directory
|
|
|
- PatientValidation - Will use `<pulse/source>/test/config/ValidationPatients.config` to create patient validation tables in the `<pulse/bin>/test_results` directory
|
|
|
- The names of the other config files in the `<pulse/source>/test/config/` directory without the suffix
|
|
|
- For Example : DebugRun, CDMUnitTests, ValidationSystems, VerificationScenarios, etc.
|
|
|
- With exception of the Characterize.config, this is a legacy testing configuration that will not work
|
|
|
|
|
|
Lastly, to follow along and both execute and debug the engine, you will need to pull all of our baseline scenarios. If you chose not to pull the baselines in your build process (you do not have a <pulse/bin>/verification folder), you will need to pull them. From a command/terminal running in the <pulse/bin>, execute the following command :
|
|
|
|
|
|
```bash
|
|
|
# Windows
|
|
|
> run updateBaselines
|
|
|
# On Mac/Linux
|
|
|
$ ./run.sh updateBaselines
|
|
|
```
|
|
|
|
|
|
This baseline collection will be create the following folder : `<pulse/bin>/verification`. It will contain both [Scenario files](https://pulse.kitware.com/_scenario_file.html), and baseline results files. We will discuss the baseline results in the test suite section.
|
|
|
|
|
|
Executing Pulse
|
|
|
---------------
|
|
|
Being a C++ library, Pulse requires a separate application to instantiate and execute the engine. We will explore various execution mechanisms in our repository in the sections below :
|
|
|
|
|
|
[Running and Timing Pulse](Pulse Scenario Driver)<br>
|
|
|
[Running the Pulse Test Suite](Test Suite)
|
|
|
When developing Pulse, we provide a script to run all of our tests, utilities, and tools to help you gather as much information as possible on the impacts of your changes to the overall system. This is the primary tool used when developing Pulse. [More on running the Pulse Test Suite](Test Suite)
|
|
|
|
|
|
We provide a library of scenarios we use to exercise all of the various functionality provided by Pulse. You can directly execute these scenarios and any of your scenairos using our Scenario Driver. This executable will generate a time based CSV file containing the data requested in the scenario. [Learn more about running the Scenario Driver.](Pulse Scenario Driver)<br>
|
|
|
|
|
|
Setting up an IDE
|
|
|
-----------------
|
... | ... | @@ -67,7 +34,7 @@ Using Pulse |
|
|
[Learn how to use the Pulse SDK](Using the pulse sdk)<br>
|
|
|
[Integrating Pulse into your application](how to connect to pulse)
|
|
|
|
|
|
Pulse provides an API for many different languages. To learn more about working with the Pulse API, you can find HowTo folders in many of the [language folders in src](https://gitlab.kitware.com/physiology/engine/-/tree/3.x/src) Pulse provides an API for each of these languages, and they are designed to be very consistent with each other. So if you are looking for how to use a particular feature in Pulse and the language you are using does not provide an example, look around in the other languages and it should be trivial to translate to the language of your application.
|
|
|
Pulse provides an API for many different languages. To learn more about working with the Pulse API, you can find HowTo folders in many of the [language folders in src](https://gitlab.kitware.com/physiology/engine/-/tree/4.x/src) Pulse provides an API for each of these languages, and they are designed to be very consistent with each other. So if you are looking for how to use a particular feature in Pulse and the language you are using does not provide an example, look around in the other languages and it should be trivial to translate to the language of your application.
|
|
|
|
|
|
[C#/.NET API](Using-C%23)<br>
|
|
|
[Python](Using Python)
|
... | ... | |