jhuapl-boss / spdb

Spatial Database Library
Apache License 2.0
6 stars 2 forks source link

how to depoly this system #34

Closed Niuhao1998 closed 1 year ago

Niuhao1998 commented 1 year ago

how to use spdb as part of BossDB and depoly it?

BrockWester commented 1 year ago

Niuhao - for the BossDB implementation at BossDB.org, we've mostly migrated to using precomputed format for our backend spatial data storage (https://github.com/google/neuroglancer/tree/master/src/neuroglancer/datasource/precomputed).

The BossDB system still supports SPDB, and we're happy to set up a time to walk through deployment with you (please send an email to info@bossdb.org. If you have specific questions about SPDB or BossDB, we can use this forum to discuss (please let us know).

Niuhao1998 commented 1 year ago

I have seen this system use morton index curve to index the cude. so how to manage a big cube,for example, 102400 102400 7000.Upload and cutout the cube?

dxenes1 commented 1 year ago

Hi Niuhao,

If you'd like to manage your data in BossDB, you can upload it to our public BossDB service (https://api.bossdb.io) using the ingest-client (https://github.com/jhuapl-boss/ingest-client). This tool will read in your data in supported formats (TIFF, Zarr, PNG, etc) and chunk up the cube into small objects. Our backend service here (SPDB) will assign a morton index to the cuboids.

Once the data is in BossDB, you can access it with intern (https://github.com/jhuapl-boss/intern), our python client to interact with the BossDB API. You can also access the data directly through the RESTful API: https://docs.theboss.io/reference/introduction

Want to store your data locally in a BossDB-like system? We also offer Bossphorus (https://github.com/aplbrain/bossphorus) to do exactly that!

Let me know if I can help further.

BrockWester commented 1 year ago

Thanks!

From: dxenes1 @.> Sent: Tuesday, November 22, 2022 10:45 PM To: jhuapl-boss/spdb @.> Cc: Wester, Brock A. @.>; Comment @.> Subject: [EXT] Re: [jhuapl-boss/spdb] how to depoly this system (Issue #34)

APL external email warning: Verify sender @.*** before clicking links or attachments

Hi Niuhao,

If you'd like to manage your data in BossDB, you can upload it to our public BossDB service (https://api.bossdb.io) using the ingest-client (https://github.com/jhuapl-boss/ingest-client). This tool will read in your data in supported formats (TIFF, Zarr, PNG, etc) and chunk up the cube into small objects. Our backend service here (SPDB) will assign a morton index to the cuboids.

Once the data is in BossDB, you can access it with intern (https://github.com/jhuapl-boss/intern), our python client to interact with the BossDB API. You can also access the data directly through the RESTful API: https://docs.theboss.io/reference/introduction

Want to store your data locally in a BossDB-like system? We also offer Bossphorus (https://github.com/aplbrain/bossphorus) to do exactly that!

Let me know if I can help further.

— Reply to this email directly, view it on GitHubhttps://github.com/jhuapl-boss/spdb/issues/34#issuecomment-1324512051, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADNHFBQZUEBJVD23X3JUEH3WJWHJ5ANCNFSM6AAAAAASGOEJTY. You are receiving this because you commented.Message ID: @.***>

Niuhao1998 commented 1 year ago

Thanks for your reply!I have a question about the parameter in kvio.py. the function of generate_cached_cuboid_keys(). what is the time samples? why we need this parameter to index cubus?

dxenes1 commented 1 year ago

We have the ability to store time-series data with this system, so cuboid objects have a time sample index value in their key. In cases where there is just spatial data (no time-series dimension) the time sample just defaults to [0,1] as seen here:

https://github.com/jhuapl-boss/spdb/blob/44d41e2b7a7b961e55746e1a5527d5419a74c2ce/spdb/spatialdb/spatialdb.py#L390

In the case where 4D data is being uploaded, we assume the first dimension is time. https://github.com/jhuapl-boss/spdb/blob/44d41e2b7a7b961e55746e1a5527d5419a74c2ce/spdb/spatialdb/spatialdb.py#L755

Best, Danny

Niuhao1998 commented 1 year ago

Thank you for your reply!

Niuhao1998 commented 1 year ago

I have another question about the boss. Why we use collection,experiment,channel to organize the storage path?

sandyhider commented 1 year ago

HI Niuhao, The idea behind collection/experiment/channel is you setup an "experiment" to be on a single animal ,like a mouse. Then you could have several channels associated with experiment, like an electron microscopy (EM) channel, an annotation channel, a channel marking specific regions of interest. Neuroglancer can be used to overlay multiple channels. The collection would be a set of experiments you are performing that should be logically be created together. Often times there is only a single experiment under a collection.

Niuhao1998 commented 1 year ago

Thank you for your reply! I have a question about the boss,what is the channel-layer map? And why need this map?