libtiff.net
libtiff.net copied to clipboard
how to use libtiff.net to generate a tiff or svs support by openslide
Hello, I try to use libtiff.net to generate a tiff that can be opened by openslide. but I try long time , failed! my code is: `for (int k_j = 0; k_j< 3; k_j++) { int j = k_j * 1; imageSplice.SetField(TiffTag.SUBFILETYPE, FileType.REDUCEDIMAGE); imageSplice.SetField(TiffTag.IMAGEWIDTH, width / beishu); imageSplice.SetField(TiffTag.IMAGELENGTH, height / beishu); imageSplice.SetField(TiffTag.BITSPERSAMPLE, 8); imageSplice.SetField(TiffTag.COMPRESSION, Compression.JPEG); imageSplice.SetField(TiffTag.PHOTOMETRIC, Photometric.RGB); imageSplice.SetField(TiffTag.IMAGEDESCRIPTION, "Aperio Image Format"); imageSplice.SetField(TiffTag.SAMPLESPERPIXEL, 3); imageSplice.SetField(TiffTag.PLANARCONFIG, PlanarConfig.CONTIG); imageSplice.SetField(TiffTag.TILEWIDTH, SmallImageSize); imageSplice.SetField(TiffTag.TILELENGTH, SmallImageSize); imageSplice.SetField(TiffTag.XRESOLUTION, 10); imageSplice.SetField(TiffTag.YRESOLUTION, 10); imageSplice.SetField(TiffTag.ORIENTATION, BitMiracle.LibTiff.Classic.Orientation.TOPLEFT); imageSplice.SetField(TiffTag.FILLORDER, FillOrder.MSB2LSB); imageSplice.SetDirectory((short)(k_j + 1));
byte[][] m_TileByte = new byte[TileWidth / beishu][];
for (int k = 0; k<m_TileByte.Length; k++)
{
m_TileByte[k] = new byte[SmallImageSize * SmallImageSize * 3];
}
Mat temp_mat = new Mat();
for (int k = 0; k<TileHeight / beishu; k++)
{
for (int n = 0; n<TileWidth / beishu; n++)
{
temp_mat = new Mat(file_list[i] + @"\slide_files\" + (max_level - j).ToString() + @"\" + n.ToString() + "_" + k.ToString() + ".jpg", ImreadModes.AnyColor);
CvInvoke.CvtColor(temp_mat, temp_mat, ColorConversion.Bgr2Rgb);
Marshal.Copy(temp_mat.DataPointer, m_TileByte[n], 0, m_TileByte[n].Length);
}
imageSplice.WriteMultiEncodedTile(k* TileWidth / beishu, TileWidth / beishu, m_TileByte, 0, SmallImageSize* SmallImageSize * 3);
}
temp_mat.Dispose();
imageSplice.WriteDirectory();
}
imageSplice.Dispose();`
so, is libtiff can generate tiff support by openslide?
We do not know what is openslide. You might be better server on q&a site like StackOverflow.
https://openslide.org/formats/aperio/ https://github.com/openslide OpenSlide can read a standard Tiff or Svs file. I create tiff by this library, and it works.
@rwecho Thank you for the help.