Datalake - Projections
Use-case
Projections
have been build with multimodality and multi-layer data in mind.
For example, let's say that you want to detect objects on a conveyor belt and to achieve this you have one camera that simultaneously capture an RGB image and an infrared image.
We will assume that these two images might have different dimensions although they have the same aspect ratio.
As you can only "see" the RGB copy of the image, that's the one you are going to annotate, but maybe you want to train your model using those annotations and the infrared images ?
You could even want to visualize a "transformed" copy of your infrared image by remapping the channels in the RGB space (just like we do with satellite images).
This is where Projections
are useful, this is the system that allows you to link several versions of the same Data
together, so you can for example switch between them during annotation like this:

In the annotation tool, you will only see theProjections
that are "visualizable" (e.g in the RGB space), but otherProjections
still exists and are attached to the original Data
Note: This also works if you original Data is not RGB and you add an RGBProjection
to it.
Create a Projection
Manually using the SDK
The simplest and most flexible way to create a Projection is using our Python SDK.
The process looks like this
from picsellia import Client
client = Client()
datalake = client.get_datalake()
data = datalake.upload_data("my_NIR_data.tiff")
datalake.create_projection(data, name="RGB", path="my_rgb_data.jpg")
And that's it ! You will now be able to access your RGB data once in the annotation tool, but retrieve the NIR data for training ✅
We can also link your original Data to a file that is already in your Cloud Storage, you would only have to provide the object-name of this file and its dimension.
data.get_projection("NIR").download()
Automatically when uploading Data
This is an Enterprise Plan feature, please contact us if you need this enabled in your account
When working with non-RGB Data
, there is often a simple transform that can allow you convert it to an RGB copy.
The code responsible for this transform can be integrated into the platform by our team so it is executed automatically when you upload the Data
.
This way you don't have to compute and upload the Projection
yourself.
This is what we do to compute the small thumbnails of your RGB images that you see everywhere in the platform (they actually are an RGBProjection
of your Data)
Updated 2 days ago