-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Run works locally. Problem in ports UI: integer types don't show corr… (
#1) * Run works locally. Problem in ports UI: integer types don't show correct default * Works in local oSPARC deploy * Adding more vars to ci
- Loading branch information
1 parent
556e7d6
commit 10cb3b7
Showing
10 changed files
with
270 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,3 +4,6 @@ services: | |
build: | ||
dockerfile: docker/custom/Dockerfile | ||
target: production | ||
args: | ||
- KWAVE_LOGIN | ||
- KWAVE_PASSWORD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ key: simcore/services/comp/k-wave | |
type: computational | ||
integration-version: 1.0.0 | ||
version: 1.0.0 | ||
description: A MATLAB toolbox for the time-domain simulation of acoustic wave fields. It uses the kspaceFirst3DG function to run 3D time-domain simulation of wave propagation on a GPU using C++ CUDA code. | ||
description: k-Wave is a MATLAB toolbox for the time-domain simulation of acoustic wave fields. This service uses the kspaceFirstOrder-CUDA function to run 3D time-domain simulation of wave propagation on a GPU using C++ CUDA code (k-Wave version 1.3). <br><br> Have an issue? Create one at https://github.com/ITISFoundation/k-wave/issues | ||
contact: [email protected] | ||
thumbnail: https://pbs.twimg.com/media/ER4wiXEWkAAY-GD.jpg | ||
authors: | ||
|
@@ -13,19 +13,128 @@ authors: | |
inputs: | ||
input_1: | ||
displayOrder: 1 | ||
label: input_1_label | ||
description: The input 1 description | ||
type: string | ||
defaultValue: some_value(optional) | ||
label: Input HDF5 | ||
description: Compatible HDF5 file (check [k-Wave User Manual](http://www.k-wave.org/manual/k-wave_user_manual_1.1.pdf) to know how to create it.) | ||
type: data:*/* | ||
fileToKeyMap: | ||
somefilename.ext: input_1 | ||
|
||
input.h5: input_1 | ||
input_2: | ||
displayOrder: 2 | ||
label: Compression level | ||
description: Compression level (-c) | ||
defaultValue: 0 | ||
type: ref_contentSchema | ||
contentSchema: | ||
title: Compression level | ||
type: integer | ||
minimum: 0 | ||
maximum: 9 | ||
input_3: | ||
displayOrder: 3 | ||
label: Store p_rms | ||
description: Store rms of p (acoustic pressure) | ||
type: boolean | ||
defaultValue: false | ||
input_4: | ||
displayOrder: 4 | ||
label: Store p_max | ||
description: Store max of p (acoustic pressure) | ||
type: boolean | ||
defaultValue: false | ||
input_5: | ||
displayOrder: 5 | ||
label: Store p_min | ||
description: Store min of p (acoustic pressure) | ||
type: boolean | ||
defaultValue: false | ||
input_6: | ||
displayOrder: 6 | ||
label: Store p_max_all | ||
description: Store max of p (whole domain) | ||
type: boolean | ||
defaultValue: false | ||
input_7: | ||
displayOrder: 7 | ||
label: Store p_min_all | ||
description: Store min of p (acoustic pressure) | ||
type: boolean | ||
defaultValue: false | ||
input_8: | ||
displayOrder: 8 | ||
label: Store p_final | ||
description: Store final pressure field | ||
type: boolean | ||
defaultValue: false | ||
input_9: | ||
displayOrder: 9 | ||
label: Store u | ||
description: Store ux, uy, uz | ||
type: boolean | ||
defaultValue: false | ||
input_10: | ||
displayOrder: 10 | ||
label: Store u_non_staggered_raw | ||
description: Store non-staggered raw time series of ux, uy, uz | ||
type: boolean | ||
defaultValue: false | ||
input_11: | ||
displayOrder: 11 | ||
label: Store u_rms | ||
description: Store rms of ux, uy, uz | ||
type: boolean | ||
defaultValue: false | ||
input_12: | ||
displayOrder: 12 | ||
label: Store u_max | ||
description: Store max of ux, uy, uz | ||
type: boolean | ||
defaultValue: false | ||
input_13: | ||
displayOrder: 13 | ||
label: Store u_min | ||
description: Store min of ux, uy, uz | ||
type: boolean | ||
defaultValue: false | ||
input_14: | ||
displayOrder: 14 | ||
label: Store u_max_all | ||
description: Store max of ux, uy, uz (whole domain) | ||
type: boolean | ||
defaultValue: false | ||
input_15: | ||
displayOrder: 15 | ||
label: Store u_min_all | ||
description: Store min of ux, uy, uz (whole domain) | ||
type: boolean | ||
defaultValue: false | ||
input_16: | ||
displayOrder: 16 | ||
label: Store u_final | ||
description: Store final acoustic velocity | ||
type: boolean | ||
defaultValue: false | ||
input_17: | ||
displayOrder: 17 | ||
label: Start of data collection | ||
description: Time step when data collection begins (-s) | ||
defaultValue: 1 | ||
type: ref_contentSchema | ||
contentSchema: | ||
title: Start of data collection | ||
type: integer | ||
input_18: | ||
displayOrder: 18 | ||
label: Copy sensory mask | ||
description: Copy sensor mask to the output file | ||
type: boolean | ||
defaultValue: fals | ||
|
||
outputs: | ||
output_1: | ||
displayOrder: 1 | ||
label: output_1_label | ||
description: The input 1 description | ||
type: string | ||
label: Output HDF5 file | ||
description: HDF5 that can be read by k-wave (check [k-Wave documentation](http://www.k-wave.org/documentation/example_cpp_running_simulations.php#heading6)) | ||
type: data:*/* | ||
fileToKeyMap: | ||
somefilename.ext: output_1 | ||
output.h5: output_1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,32 @@ | ||
# k-Wave | ||
|
||
Source code of the o²S²PARC Service for k-Wave, A MATLAB toolbox for the time-domain simulation of acoustic wave fields. It uses the kspaceFirst3DG function to run 3D time-domain simulation of wave propagation on a GPU using C++ CUDA code. Find more information about k-Wave [here](http://www.k-wave.org/index.php). | ||
Source code of the k-Wave Service on o²S²PARC. k-Wave is MATLAB/C++ toolbox for the time-domain simulation of acoustic wave fields. This Service uses the C++ function to run 3D time-domain simulation of wave propagation on a GPU using C++ CUDA code. You can find more information about k-Wave [here](http://www.k-wave.org/index.php). | ||
|
||
## Usage | ||
The Service runs the kspaceFirstOrder-CUDA function (v1.3) | ||
|
||
## Citing the k-Wave Toolbox | ||
If you find the toolbox useful for your academic work, please consider citing one or more of the associated papers, more information [here](http://www.k-wave.org/license.php). | ||
|
||
## Information for developers of the o²S²PARC Service | ||
### Usage | ||
|
||
```console | ||
$ make help | ||
|
||
$ make build | ||
$ make info-build | ||
$ make tests | ||
$ make publish-local | ||
``` | ||
**Note**: to build the image, you need an account [to download k-Wave](http://www.k-wave.org/download.php). In version 1.0.0 the pre-compiled executables are used. | ||
|
||
## Workflow | ||
|
||
1. The source code shall be copied to the [src](k-wave/src/k_wave) folder. | ||
2. The [Dockerfile](k-wave/src/Dockerfile) shall be modified to compile the source code. | ||
3. The [.osparc](.osparc) is the configuration folder and source of truth for metadata: describes service info and expected inputs/outputs of the service. | ||
4. The [execute](k-wave/service.cli/execute) shell script shall be modified to run the service using the expected inputs and retrieve the expected outputs. | ||
5. The test input/output shall be copied to [validation](k-wave/validation). | ||
6. The service docker image may be built and tested as ``make build tests`` (see usage above) | ||
7. Optional: if your code requires specific CPU/RAM resources, edit [runtime.yml](.osparc/runtime.yml). In doubt, leave it as default. | ||
### How to test | ||
Use as input the file `validation/input/input.h5`. Running the service should generate an `output.h5` file. | ||
Is you provide optional boolean flags (either in the UI of in `inputs.json`), you should see additional data fields in the `output.h5` file. To inspect the output file you can use `h5ls -d output.h5`. | ||
|
||
## Have an issue or question? | ||
Please open an issue [in this repository](https://github.com/ITISFoundation/cookiecutter-osparc-service/issues/). | ||
|
||
Please open an issue [in this repository](https://github.com/ITISFoundation/k-wave/issues/). | ||
|
||
--- | ||
<p align="center"> | ||
<image src="https://github.com/ITISFoundation/osparc-simcore-python-client/blob/4e8b18494f3191d55f6692a6a605818aeeb83f95/docs/_media/mwl.png" alt="Made with love at www.z43.swiss" width="20%" /> | ||
</p> | ||
|
||
## Citing the k-Wave Toolbox | ||
If you find the toolbox useful for your academic work, please consider citing one or more of the associated papers, more information [here](http://www.k-wave.org/license.php). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.