You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New APIs to get a list of input/output data plug-ins (#437)
* gh-434 New APIs to get a list of input/output data plug-ins
New PluginAttribute to provide names for the plug-ins
* gh-434 Update documentation
* gh-434 Update documentation
* gh-434 Update CLI with aet plugins and dst plugins commands
* Add AttributeUsage to PluginNameAttribute
* Update user guide
* Fix typo in setup guide
* Add unit test for Plug-ins client
Signed-off-by: Victor Chang <[email protected]>
Returns a list of data input plug-ins that can be used with SCP Application Entity.
291
+
292
+
### Parameters
293
+
294
+
N/A
295
+
296
+
### Responses
297
+
298
+
Response Content Type: JSON - An object containing zero or more key-value pairs where the key is the name of the plug-in and the value is the fully qualified assembly type name of the plug-in.
Returns a list of data output plug-ins that can be used with SCP Application Entity.
811
+
812
+
### Parameters
813
+
814
+
N/A
815
+
816
+
### Responses
817
+
818
+
Response Content Type: JSON - An object containing zero or more key-value pairs where the key is the name of the plug-in and the value is the fully qualified assembly type name of the plug-in.
Copy file name to clipboardExpand all lines: docs/setup/setup.md
+50-3
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
<!--
2
-
~ Copyright 2021-2022 MONAI Consortium
2
+
~ Copyright 2021-2023 MONAI Consortium
3
3
~
4
4
~ Licensed under the Apache License, Version 2.0 (the "License");
5
5
~ you may not use this file except in compliance with the License.
@@ -20,16 +20,30 @@ This section outlines the steps to download and install the Informatics Gateway
20
20
## Runtime Requirements
21
21
22
22
* Docker 20.10.12 or higher
23
+
*[Database service](#database-configuration)
24
+
*[Message Broker service](#message-broker)
25
+
*[Storage service](#storage-service)
23
26
24
27
For development requirements, refer to the [Informatics Gateway README.md](https://github.com/Project-MONAI/monai-deploy-informatics-gateway).
25
28
29
+
> [!Note]
30
+
> Use [MONAI Deploy Express](https://github.com/Project-MONAI/monai-deploy/tree/main/deploy/monai-deploy-express) to quickly
31
+
> bring up all required services, including the Informatics Gateway.
32
+
>
33
+
> Skip to [Configure Informatics Gateway](#configure-informatics-gateway) if you are using MONAI Deploy Express.
34
+
35
+
36
+
26
37
## Installation
27
38
28
39
### Informatics Gateway CLI
29
40
30
41
Download and install the Informatics Gateway CLI from the [Releases](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/releases) section of
31
42
the repository and install it.
32
43
44
+
> [!Note]
45
+
> We use `v0.2.0` release as an example here, always download the latest from the [Releases](https://github.com/Project-MONAI/monai-deploy-informatics-gateway/releases) section.
46
+
33
47
#### On Linux
34
48
35
49
```bash
@@ -80,6 +94,9 @@ mig-cli.exe config init
80
94
mig-cli.exe config endpoint http://localhost:5000 #skip if running locally
81
95
```
82
96
97
+
> [!Note]
98
+
> For [MONAI Deploy Express](https://github.com/Project-MONAI/monai-deploy/tree/main/deploy/monai-deploy-express), use `http://localhost:5003`.
99
+
83
100
The first command extracts the default `appsettings.json` file into the home directory:
84
101
85
102
* Linux: `~/.mig/appsettings.json`
@@ -144,6 +161,27 @@ If the database system is supported by [Microsoft Entity Framework](https://lear
144
161
For other database systems that are not listed in the link above, simply implement the [Repository APIs](xref:Monai.Deploy.InformaticsGateway.Database.Api.Repositories), update the [Database Manager](xref:Monai.Deploy.InformaticsGateway.Database.DatabaseManager) to support the new database type and optionally, implement the [IDabaseMigrationManager](xref:Monai.Deploy.InformaticsGateway.Database.Api.IDatabaseMigrationManager).
145
162
146
163
164
+
## Authentication
165
+
166
+
Authentication is disabled by default. To enable authentication using OpenID, edit the `appsettings.json` file and set `bypassAuthentication` to `true`:
167
+
168
+
```json
169
+
{
170
+
"MonaiDeployAuthentication": {
171
+
"bypassAuthentication": true,
172
+
"openId": {
173
+
"realm": "{realm}",
174
+
"realmKey": "{realm-secret-key}",
175
+
"clientId": "{client-id}",
176
+
"audiences": [ "{audiences}" ],
177
+
"roleClaimType": "{roles}",
178
+
...
179
+
}
180
+
```
181
+
182
+
Refer to [Authentication Setup Using Keycloak](https://github.com/Project-MONAI/monai-deploy-workflow-manager/blob/develop/guidelines/mwm-auth.md) for additional details.
183
+
184
+
147
185
## Storage Consideration & Configuration
148
186
149
187
The Informatics Gateway operates on two storage locations. In the first location, the incoming data for data grouping is temporarily stored. In the second location, the Informatics Gateway uploads grouped datasets to final storage shared by other MONAI Deploy sub-systems.
@@ -314,7 +352,7 @@ will group instances by the Series Instance UID (0020,000E) with a timeout value
314
352
315
353
### Optional: Input Data Plug-ins
316
354
317
-
Each listening AE Title may be configured with zero or more plug-ins to maniulate incoming DICOM files before saving to the storage
355
+
Each listening AE Title may be configured with zero or more plug-ins to manipulate incoming DICOM files before saving to the storage
318
356
service and dispatching a workflow request. To include input data plug-ins, first create your plug-ins by implementing the
319
357
[IInputDataPlugin](xref:Monai.Deploy.InformaticsGateway.Api.IInputDataPlugin) interface and then use `-p` argument with the fully
320
358
qualified type name with the `mig-cli aet add` command. For example, the following command adds `MyNamespace.AnonymizePlugin`
@@ -327,7 +365,7 @@ mig-cli aet add -a BrainAET -grouping 0020,000E, -t 30 -p "MyNamespace.Anonymize
327
365
> [!Note]
328
366
> `-grouping` is optional, with a default value of 0020,000D.
329
367
> `-t` is optional, with a default value of 5 seconds.
330
-
> For complete reference, refer to the [Config API](../api/rest/config.md).
368
+
> For complete reference, refer to the [Configuration API](../api/rest/config.md).
331
369
332
370
2. Enable the receiving of DICOM instances from external DICOM devices:
333
371
@@ -358,3 +396,12 @@ The command adds a DICOM export destination with AE Title `WORKSTATION1` at IP `
358
396
## Logging
359
397
360
398
See [schema](./schema.md#logging) page for additional information on logging.
399
+
400
+
## Data Plug-ins
401
+
402
+
You may write your own data plug-ins to manipulate incoming data before they are saved to the storage service or outgoing data right before they are exported.
403
+
404
+
To write an input data plug-in, implement the [IInputDataPlugin](xref:Monai.Deploy.InformaticsGateway.Api.IInputDataPlugin) interface and put the [dynamic link library](https://learn.microsoft.com/en-us/troubleshoot/windows-client/deployment/dynamic-link-library) (DLL) in the
405
+
plug-ins directories. Similarly for output data plug-ins, implement the [IOutputDataPlugin](xref:Monai.Deploy.InformaticsGateway.Api.IOutputDataPlugin) interface.
406
+
407
+
Refer to [Configuration API](../api/rest/config.md) page to retrieve available [input](../api/rest/config.md#get-configaeplug-ins) and [output](../api/rest/config.md#get-configdestinationplug-ins) data plug-ins.
0 commit comments