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
Another way is make your own Maven project depending on
@@ -120,14 +121,17 @@ A Python wrapper for the web API.
120
121
121
122
### [Postman Collection](clients/postman)
122
123
123
-
A collection of sample API calls to imagej-server using [Postman](https://www.getpostman.com/).
124
+
A collection of sample API calls to imagej-server using
125
+
[Postman](https://www.getpostman.com/).
124
126
125
127
### Web client with GUI
126
128
127
129
Installation
128
130
129
-
- Check that you have got *Node.js* and *npm* installed ([instructions](https://www.npmjs.com/get-npm)).
130
-
- Open a command prompt, navigate to `clients\webNew` and run `npm install`. This will install all required *Node.js* packages.
131
+
- Check that you have got *Node.js* and *npm* installed
132
+
([instructions](https://www.npmjs.com/get-npm)).
133
+
- Open a command prompt, navigate to `clients\webNew` and run `npm install`.
134
+
This will install all required *Node.js* packages.
131
135
132
136
Compilation and execution (development)
133
137
@@ -136,77 +140,98 @@ Compilation and execution (development)
136
140
137
141
### APIs
138
142
139
-
-__GET__ /modules
143
+
-__GET__`/modules`
140
144
141
-
Returns a list of modules. By default, imagej-server exposes its API at `localhost:8080`, which will be used throughout this documentation.
145
+
Returns a list of modules. By default, imagej-server exposes its API at
146
+
`localhost:8080`, which will be used throughout this documentation.
142
147
143
-
`$ curl localhost:8080/modules`
148
+
```
149
+
curl localhost:8080/modules
150
+
```
144
151
145
-
-__GET__ /modules/*{id}*
152
+
-__GET__`/modules/*{id}*`
146
153
147
-
Returns detailed information of a module specified by `{id}`. Notice that `{id}` could contain special characters such as dollar sign (`$`), which needs to be escaped when using `cURL`.
154
+
Returns detailed information of a module specified by `{id}`. Notice that
155
+
`{id}` could contain special characters such as dollar sign (`$`), which
Executes a module with with JSON inputs. Use the module details to determine the correct input keys. The optional query parameter `process` determines if the execution should be pre/post processed.
164
+
Executes a module with with JSON inputs. Use the module details to determine
165
+
the correct input keys. The optional query parameter `process` determines if
Uploads a file to server. A 16-bit lowercase alphanumeric ID prefixed with `object:` will be returned as a JSON string. The ID can be used in module execution to represent the file. Currently only supports uploading images and tables in text. An optional query parameter `type` could be provided as hint to file type. If it is empty, filename would be used for guessing.
201
+
Uploads a file to server. A 16-bit lowercase alphanumeric ID prefixed with
202
+
`object:` will be returned as a JSON string. The ID can be used in module
203
+
execution to represent the file. Currently only supports uploading images and
204
+
tables in text. An optional query parameter `type` could be provided as hint
205
+
to file type. If it is empty, filename would be used for guessing.
Download an object in some specific format from the server. Optional query parameters will be used for configuration depending on the type of the object.
214
+
Download an object in some specific format from the server.
215
+
Optional query parameters will be used for configuration
Stop the imagej-server gracefully without shutting down the imagej runtime.
224
+
Stop the imagej-server gracefully without shutting down the imagej runtime.
200
225
201
-
`curl -XDELETE localhost:8080/admin/stop`
226
+
`curl -XDELETE localhost:8080/admin/stop`
202
227
203
228
## Notes and memo
204
229
205
-
- DefaultObjectService effectively prevents garbage collection of all objects produced during the lifetime of this imagej-server instance, which could lead to serious memory issues. The timestamped object ID could be used to determine if an object should "expire" on a regular basis or when memory runs low.
206
-
- Ops that need to be initialized are not working when run as module. See the HACK in `ModulesResource`
230
+
-`DefaultObjectService` effectively prevents garbage collection of all objects produced during the lifetime of this imagej-server instance, which could lead to serious memory issues. The timestamped object ID could be used to determine if an object should "expire" on a regular basis or when memory runs low.
231
+
- Ops that need to be initialized are not working when run as module. See the HACK in `ModulesResource`.
207
232
- The converters from `Number` to `NumericType` could be refined and considered moving to other projects such as SciJava.
208
233
- It might be a good idea for the client to provide optional language-neutral type information for module execution, so that we can support more complex data structures without too much guessing. This would also solve the problem of nested special object (i.e. `List<Integer>` could not be converted into `List<IntType>` even with converter between `Integer` and `IntType`).
209
234
- What test framework should be used?
210
-
- Might need to add logging/debug info
235
+
- Might need to add logging/debug info.
211
236
- The module information should be improved. The inputs outputs names are not very informative.
212
237
- The current design of setting inputs/getting outputs could easily break if those names are changed. Should we just assume they will never change, or should those libraries (i.e. Ops) also take care of all the client implementation?
0 commit comments