MRXS 2.2 progress

Benjamin Gilbert bgilbert at cs.cmu.edu
Fri Nov 2 16:02:29 EDT 2012


On 11/02/2012 11:25 AM, Agelos Pappas wrote:
> 174231 is a multiple of 9 and I quickly thought of the 9-byte record
> pattern of *VIMSLIDE_POSITION_BUFFER.default* nonhierarchical section.
> This produces at most 19,359 records (174231 / 9) which I believe is
> unlikely to be similar to VIMSLIDE_POSITION_BUFFER.

Nice work!  Your CSV looks *exactly* like VIMSLIDE_POSITION_BUFFER.

It's not surprising that the record count is constant, because each 
slide is scanned using the same number of camera positions.  In the case 
of Mirax2.2-1.mrxs, the Slidedat IMAGENUMBER_{X,Y} specify 324 x 956 
tiles in level 0.  Divide by CameraImageDivisionsPerSide and we get 81 x 
239 = 19,359 camera positions.

> The single
> byte in every record appears to only have 0 or 1 as a value.
> Furthermore, whenever it equals 0, the two integers are always zero two.
> Whenever it is 1, the integers have values in them.

For camera positions that don't actually contain meaningful pixels, the 
JPEGs are omitted from the file and the X/Y position values are set to 
zero.  (We call these "inactive" positions.)

In fact, you seem to have discovered the meaning of the first byte: it's 
1 if the camera position is active or 0 otherwise.  I've checked all of 
the MIRAX 1.9 slides I have access to, and have not found a single 
exception.  (See <https://github.com/openslide/openslide/commit/61475c> 
for the reason we didn't notice this earlier.)

MIRAX 1.8 is a little different: the coordinates are always present and 
the flag byte is always 0.  But we don't support 1.8 right now anyway.

> Moreover, the
> integers never contain negative values, even though I read them as
> signed integers.

Negative values do occur, but they are rare.

--Benjamin Gilbert



More information about the openslide-users mailing list