Table of Contents

Barcodes (automation)

Slides can be tracked more efficiently throughout the lab and other workflows by providing them with barcodes. They make anonymization and pseudonymization easier.

Barcodes may also prevent people from guessing filenames (and paths in which they are stored). Therefore it becomes possible to discuss slides and pass on references to slides, without revealing their location (path) and filename.

The role of PMA.core

PMA.core has a built-in mechanism to retrieve metadata from for a slide through a back-end API call:

The call as defined above then maps back to the original slide w/ barcode 086318.

There's a catch however: interpreting barcodes pasted on physical slides requires a lot of computation time; it's essentially an image recognition task.

This means that for a given repository of slides, we don't automatically know all their barcodes; we only know those after the code is invoked that parses that barcode image.

This also may seem counter-intuitive: why would you want to reverse-map a barcode back to a slide, if you actually have to lookk at the original slide in the first place?

The answer is that the “look at the slide first” process can be automated in a batch process overnight. Using our SDK (or even directly invoking the right API calls), you can write a script that periodically pings PMA.core for each slide there is, fetch the slide's barcode, and thereby build an implicit index of barcodes.

That index can then be used the next day to more effectively communicate with the server by means of barcode mapping.

Look at the info panel next to the following slide. Note the slide's filename reference, and its barcode identification:

You may already know how to create a link to the slide by means of its full path:

https://server/pma.studio/?serverUrl=https%3A%2F%2Fserver%2Fpma.core%2F&path=path%2Fto%2Fslide%2FPhilips02_UZBSet0213.tiff

The link to reference to it via barcode is similar. When you know the barcode of the particular slide is UZBset0213, this new link becomes:

https://server/pma.studio/?serverUrl=https%3A%2F%2Fserver%2Fpma.core%2F&barcode=UZBset0213

The result of the two links is identical to the end-user:

Syntax

When

You can create a link to the slide associated with the barcode via the call

https://server/pma.studio/?serverUrl=https%3A%2F%2Fserver%2Fpma.core%2F&barcode=ABC123