Author: malat-guest Date: 2011-10-06 12:17:46 +0000 (Thu, 06 Oct 2011) New Revision: 8095
Modified: trunk/packages/openslide/trunk/debian/openslide-show-properties.1 Log: adding MIRAX and other Modified: trunk/packages/openslide/trunk/debian/openslide-show-properties.1 =================================================================== --- trunk/packages/openslide/trunk/debian/openslide-show-properties.1 2011-10-06 11:55:25 UTC (rev 8094) +++ trunk/packages/openslide/trunk/debian/openslide-show-properties.1 2011-10-06 12:17:46 UTC (rev 8095) @@ -14,9 +14,12 @@ .IP openslide.comment A free-form text comment, the same as returned from openslide_get_comment. .IP openslide.quickhash-1 -A non-cryptographic hash of a subset of the slide data. It can be used to uniquely identify a particular virtual slide, but cannot be used to detect file corruption or modification. +A non-cryptographic hash of a subset of the slide data. It can be used to +uniquely identify a particular virtual slide, but cannot be used to detect file +corruption or modification. .IP openslide.background-color -The background color of the slide, given as an RGB hex triplet. This property is not always present. +The background color of the slide, given as an RGB hex triplet. This property +is not always present. .PP .SS "Properties from the JPEG backend" @@ -57,7 +60,8 @@ .SH Trestle format .IP Format 0.4i -single-file pyramidal tiled TIFF, with non-standard metadata and overlaps; additional files can contain more metadata and detailed overlap info +single-file pyramidal tiled TIFF, with non-standard metadata and overlaps; +additional files can contain more metadata and detailed overlap info .IP "File extensions" \&.tif .IP "OpenSlide vendor backend" @@ -68,7 +72,8 @@ .SS Detection .nr step 1 1 -Trestle slides are stored in single-file TIFF format. OpenSlide will detect a file as Trestle if: +Trestle slides are stored in single-file TIFF format. OpenSlide will detect a +file as Trestle if: .IP \n[step] 3 The file is TIFF. .IP \n+[step] @@ -128,7 +133,8 @@ .SS Known Properties -All data encoded in the ImageDescription TIFF field is represented as properties prefixed with \*(lqtrestle.\*(rq. +All data encoded in the ImageDescription TIFF field is represented as +properties prefixed with \*(lqtrestle.\*(rq. .SH Hamamatsu format @@ -354,7 +360,8 @@ .SS Known Properties -All key-value data stored in the VMS/VMU file are encoded as properties prefixed with \*(lqhamamatsu.\*(rq. +All key-value data stored in the VMS/VMU file are encoded as properties +prefixed with \*(lqhamamatsu.\*(rq. .SS Preliminary NDPI Notes @@ -434,7 +441,8 @@ .SS Detection .nr step 1 1 -Aperio slides are stored in single-file TIFF format. OpenSlide will detect a file as Aperio if: +Aperio slides are stored in single-file TIFF format. OpenSlide will detect a +file as Aperio if: .IP \n[step] 3 The file is TIFF. .IP \n+[step] @@ -469,8 +477,11 @@ .SS TIFF Image Directory Organization -http://www.aperio.com/documents/api/Aperio_Digital_Slides_and_Third-party_data_interchange.pdf page 14: +From +http://www.aperio.com/documents/api/Aperio_Digital_Slides_and_Third-party_data_interchange.pdf + +page 14: The first image in an SVS file is always the baseline image (full resolution). This image is always tiled, usually with a tile size of 240x240 pixels. The second image is always a thumbnail, typically with dimensions of about 1024x768 @@ -505,8 +516,160 @@ .PP .SS Known Properties -All key-value data encoded in the ImageDescription TIFF field is represented as properties prefixed with \*(lqaperio.\*(rq. +All key-value data encoded in the ImageDescription TIFF field is represented as +properties prefixed with \*(lqaperio.\*(rq. +.SH MIRAX format +.PP +.IP Format +multi-file JPEG with very complicated proprietary metadata and indexes +.IP "File extensions" +\&.mrxs +.IP "OpenSlide vendor backend" +mirax +.IP "OpenSlide ops backend" +jpeg + +.SS Detection + +.B Note: MIRAX is incredibly complicated. These detection steps are probably not complete. + +.nr step 1 1 +OpenSlide will detect a file as MIRAX if: +.IP \n[step] 3 +The file ends with .mrxs. +.IP \n+[step] +A directory exists in the same location as the file, with the same name as the +file minus the extension. +.IP \n+[step] +A file named Slidedat.ini exists in the directory. +.IP \n+[step] +The slidedat file is readable as a Windows INI-style file. +.IP \n+[step] +The slidedat file has a [GENERAL] section with the following keys: +SLIDE_VERSION, SLIDE_ID, IMAGENUMBER_X, IMAGENUMBER_Y, +CameraImageDivisionsPerSide. +.IP \n+[step] +The slidedat file has a [HIERARCHICAL] section with the following keys: +HIER_COUNT, NONHIER_COUNT, INDEXFILE. +.IP \n+[step] +A key exists in the [HIERARCHICAL] section with the value of Slide zoom level. +The key matches this printf-style template: HIER_%d_NAME. The %d is bound to +the variable zoom_level. Currently, zoom_level must be 0. +.IP \n+[step] +The [HIERARCHICAL] section has a key with the name HIER_%d_COUNT where %d is +the value of zoom_level in the previous step. The value must be an integer, +interpreted as zoom_count. +.IP \n+[step] +Setting x to zoom_level and y from 0 to zoom_count, the [HIERARCHICAL] section +has a key with the name HIER_x_VAL_y_SECTION. Let section_names[] be an array +of length zoom_count, holding the values for each key. +.IP \n+[step] +The [DATAFILE] section must exist, with the following keys: FILE_COUNT. +.IP \n+[step] +There are FILE_COUNT keys in the [DATAFILE] section with the following names: +FILE_%d, where %d goes from 0 to FILE_COUNT-1. +.IP \n+[step] +For each value in section_names, a group must exist with that name. Each group +must contain the keys: OVERLAP_X, OVERLAP_Y, IMAGE_FILL_COLOR_BGR, +DIGITIZER_WIDTH, DIGITIZER_HEIGHT. The overlap values must be parseable as +doubles, the rest as integers. The key IMAGE_FORMAT must exist, with the value +JPEG. +.IP \n+[step] +Each section_names section must have the key IMAGE_CONCAT_FACTOR. The value of +the first section's IMAGE_CONCAT_FACTOR must be 0, the rest 1. +.IP \n+[step] +The [HIERARCHICAL] section has a key with the name NONHIER_%d_NAME (%d is an +integer) and with the value VIMSLIDE_POSITION_BUFFER. Bind %d to the variable +position_nonhier_offset. +.IP \n+[step] +The [HIERARCHICAL] section has a key with the name NONHIER_%d_NAME (%d is an +integer) and with the value Scan data layer. Bind %d to the variable +scan_nonhier_offset. +.IP \n+[step] +The [HIERARCHICAL] section has a key with the name NONHIER_%d_VAL_%d where the +first %d is the value of scan_nonhier_offset. The key has a value of +ScanDataLayer_SlideThumbnail. +.IP \n+[step] +The [HIERARCHICAL] section has a key with the name NONHIER_%d_VAL_%d where the +first %d is the value of scan_nonhier_offset. The key has a value of +ScanDataLayer_SlideBarcode. +.IP \n+[step] +The [HIERARCHICAL] section has a key with the name NONHIER_%d_VAL_%d where the +first %d is the value of scan_nonhier_offset. The key has a value of +ScanDataLayer_SlidePreview. +.IP \n+[step] +The value of the INDEXFILE key above is the name of a readable file. +.IP \n+[step] +The index file is of a valid format, and all data referred to by it is valid +(see below). + +.SS Overview + +Because JPEG does not allow for large files, multiple JPEG files are needed to +encode large images. + +Unfortunately, (unlike TIFF) JPEG provides very poor support for random-access +decoding of parts of a file. To avoid having many individual files, MIRAX packs +JPEG files into a small number of data files. The index file provides offsets +into the data files for each required piece of data. + +.SS Index File + +The index file is a crazy beast. + +It starts with ASCII strings matching the SLIDE_VERSION and SLIDE_ID values +from the slidedat file. Then, all hell breaks loose. The rest of the file +consists of 32-bit little-endian integers (unaligned) with seemingly no +structure. + +More info coming, for now see misc/print-mirax.py. + +.SS Data Files + +.SS Slide Position File + +.SS Associated Images + +.SS Known Properties + +.SH Generic tiled TIFF format +.PP +.IP Format +single-file pyramidal tiled TIFF +.IP "File extensions" +\&.tif +.IP "OpenSlide vendor backend" +generic-tiff +.IP "OpenSlide ops backend" +tiff +.PP + +.SS Detection + +.nr step 1 1 +OpenSlide will detect a file as generic TIFF if: +.IP \n[step] 3 +No other detections succeed. +.IP \n+[step] +The file is TIFF. +.IP \n+[step] +The initial image is tiled. + +.SS TIFF Image Directory Organization + +The first image in the TIFF file is the full-resolution image. Any other tiled +images in the file with the \*(lqreduced resolution\*(rq bit set are assumed to +be reduced-resolution versions of the original. + +.SS Associated Images + +None. + +.SS Known Properties + +Many TIFF tags are encoded as properties starting with \*(lqtiff.\*(rq. + .SH "SEE ALSO" .IR openslide-write-png(1), _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
