Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design component to retrieve all the data for the zip file server #1163

Closed
ddelpiano opened this issue Jul 19, 2021 · 8 comments
Closed

Design component to retrieve all the data for the zip file server #1163

ddelpiano opened this issue Jul 19, 2021 · 8 comments
Assignees

Comments

@ddelpiano
Copy link
Contributor

ddelpiano commented Jul 19, 2021

  1. Abstract these types through a json file (later the user will be able to select these through the UI):
  • Image files (aligned to JRC2018Unisex):
  • Mesh/Pointcloud (OBJ): VFB_00102135_mesh.obj
  • Skeleton (SWC): VFB_00000002.swc
  • Slices (Woolz): VFB_00102135.wlz
  • Signal (NRRD): VFB_00102135.nrrd
  • Remember to cite: citations.bibtex
  1. Design a component that traverse the geppetto model to extract the url of all the resources selected (from json/UI)

  2. What metadata we need to extract from the geppetto model to be passed to the file server? @Robbie1977

  3. The component will have then to create a json structure as per example below:

{
  "entries": [
{"Url":"https://v2.virtualflybrain.org/data/VFB/i/0000/0001/VFB_00101567/thumbnail.png","ZipPath":"AlignedToJRC2018U/VFB_00000001.png"},    {"Url":"https://v2.virtualflybrain.org/data/VFB/i/0000/0002/VFB_00101567/thumbnail.png","ZipPath":"AlignedToJRC2018U/VFB_00000002.png"}
  ]
}

Discussed with Robb in the call, each file will be provided with the destination path already pre-filled by the backend.

@ddelpiano
Copy link
Contributor Author

@Robbie1977 @dosumis these are the requirements we will start for the download feature, feel free to edit/correct anything you spot needs to be changed. Thx

@ddelpiano
Copy link
Contributor Author

wait an input from @Robbie1977 for the point 3, the idea is to provide the geppetto model with the needed info from the ac.uk bundle.

@ddelpiano
Copy link
Contributor Author

@jrmartin Robbie suggested to use something similar to this approach https://github.com/VirtualFlyBrain/uk.ac.vfb.geppetto/blob/master/src/main/java/uk/ac/vfb/geppetto/VFBProcessTermInfo.java#L723 , could you check how we can extend the model to fit more information similar to what they are doing with the slice viewer and give Robbie a reference of where these info can be placed? (we can have a chat about this if not clear).

@Robbie1977
Copy link
Contributor

@ddelpiano @jrmartin development branch now implements the VFB_xxxxxxxx.VFB_xxxxxxxx_meta variable:

DownloadMeta
{'obj':{'url':'https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.obj','local':'VFB_00101567/PointCloudFiles(OBJ)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).obj'},'swc':{'url':'https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.swc','local':'VFB_00101567/Skeleton(SWC)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).swc'},'wlz':{'url':'https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.wlz','local':'VFB_00101567/Slices(WOOLZ)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).wlz'},'nrrd':{'url':'https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.nrrd','local':'VFB_00101567/SignalFiles(NRRD)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).nrrd'}}

formatted:

{
   "obj":{
      "url":"https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.obj",
      "local":"VFB_00101567/PointCloudFiles(OBJ)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).obj"
   },
   "swc":{
      "url":"https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.swc",
      "local":"VFB_00101567/Skeleton(SWC)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).swc"
   },
   "wlz":{
      "url":"https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.wlz",
      "local":"VFB_00101567/Slices(WOOLZ)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).wlz"
   },
   "nrrd":{
      "url":"https://v2.virtualflybrain.org/data/VFB/i/jrch/ju5n/VFB_00101567/volume.nrrd",
      "local":"VFB_00101567/SignalFiles(NRRD)/VFB_jrchju5n_(FB7B_L_(FlyEM-HB:948346463)).nrrd"
   }
}

@jrmartin
Copy link
Contributor

jrmartin commented Jul 23, 2021

@Robbie1977 @ddelpiano Are the values here hard coded in the json or are those ID's dependent on what's current selected in VFB?

- [ ] Image files (aligned to JRC2018Unisex):
- [ ] Mesh/Pointcloud (OBJ): VFB_00102135_mesh.obj
- [ ] Skeleton (SWC): VFB_00000002.swc
- [ ] Slices (Woolz): VFB_00102135.wlz
- [ ] Signal (NRRD): VFB_00102135.nrrd
- [ ] Remember to cite: citations.bibtex

For example, if we load http://localhost:8081/org.geppetto.frontend/geppetto?id=VFB_00101567
Is the download component expected to show the download options for this ID ?

- [ ] Image files (aligned to JRC2018Unisex):
- [ ] Mesh/Pointcloud (OBJ): VFB_00101567_mesh.obj
- [ ] Skeleton (SWC): VFB_00101567.swc
- [ ] Slices (Woolz): VFB_00101567.wlz
- [ ] Signal (NRRD): VFB_00101567.nrrd
- [ ] Remember to cite: citations.bibtex

And also, to download all these files, should they zipped together in a file and download that zip file, or is each selected file downloaded by itself.

@jrmartin
Copy link
Contributor

First draft of design:

image.png

@Robbie1977
Copy link
Contributor

@jrmartin the download will be for all loaded variables in VFB (so everything in the layers tool).

The selection will be for the types of files you want to include (even if they don't exist for all variables).

So you can download all citations and swc files for everything currently shown. The template has no swc files available so will just be skipped but (should) have a citation file so that will be included.

@jrmartin
Copy link
Contributor

jrmartin commented Jul 27, 2021

Thanks @Robbie1977 .
@ddelpiano I updated the design to show options for all variables.
image

@jrmartin jrmartin linked a pull request Aug 13, 2021 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants