Return-Path: <tiff-bounces@lists.osgeo.org>
Delivered-To: even.rouault@spatialys.com
Received: from spool.mail.gandi.net (spool3.mail.gandi.net [217.70.178.212])
	by nmboxes134.sd4.0x35.net (Postfix) with ESMTP id 717EA61882
	for <even.rouault@spatialys.com>; Sat, 30 Mar 2019 12:44:41 +0000 (UTC)
Received: from lists.osgeo.org (osgeo6.osgeo.osuosl.org [140.211.15.3])
	by spool.mail.gandi.net (Postfix) with ESMTPS id 05A59AC0EE8
	for <even.rouault@spatialys.com>; Sat, 30 Mar 2019 12:44:40 +0000 (UTC)
Received: from osgeo6.osgeo.osuosl.org (localhost [127.0.0.1])
	by lists.osgeo.org (Postfix) with ESMTP id 4654C6147751;
	Sat, 30 Mar 2019 05:44:36 -0700 (PDT)
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-oln040092005069.outbound.protection.outlook.com [40.92.5.69])
 by lists.osgeo.org (Postfix) with ESMTPS id A07766108842
 for <tiff@lists.osgeo.org>; Sat, 30 Mar 2019 05:44:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SFiOePZwSotKxV0+MB1XJzC3ryUBP+2Kg5n2n63xGN8=;
 b=kvlo7JkBP7Tg+5PDXS96W5DQken4/ULfnshs8xfRHg9cN7122LerjFZFTbCrPCYSxPYN+mnWbW+0l2b0uEvKBxzxagcpPGnZkyNbtT/9KlWZzHhXOfZW1/Q3vnOJpBSSwLvfJDDBVyNRVYBi+CXRjfpdWpHz7PMAXlORsLKqGjBmC+OlGIVQ27B37pjPSzTAlnhS5o/lUtaPP3KDxlJ6GsD8tTzhJ5SBKb/ea6uPjdGE9hlInSFphbXZEJbQoEKGxdcjDc6CTHDxJ8NohI0BqTGizdteRI2p5NViJ5tK0LB4MEryMpwVg+E3N2FRLLJ8Qsk1t+BFKRo40lTrDk4sYA==
Received: from BL2NAM02FT052.eop-nam02.prod.protection.outlook.com
 (10.152.76.57) by BL2NAM02HT118.eop-nam02.prod.protection.outlook.com
 (10.152.76.250) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.1750.16; Sat, 30 Mar
 2019 12:44:31 +0000
Received: from BN6PR18MB1476.namprd18.prod.outlook.com (10.152.76.55) by
 BL2NAM02FT052.mail.protection.outlook.com (10.152.77.0) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id
 15.20.1750.16 via Frontend Transport; Sat, 30 Mar 2019 12:44:31 +0000
Received: from BN6PR18MB1476.namprd18.prod.outlook.com
 ([fe80::e44c:8262:f40c:45d]) by BN6PR18MB1476.namprd18.prod.outlook.com
 ([fe80::e44c:8262:f40c:45d%7]) with mapi id 15.20.1750.017; Sat, 30 Mar 2019
 12:44:31 +0000
From: Paul Hemmer <paulhemmer@hotmail.com>
To: Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Thread-Topic: [Tiff] combining TIFF images, not multi-page
Thread-Index: AQHU5mN0KMvLs8mRiEWf0eTrv4HEM6YjAF+AgAABOPSAADiugIAA41Rf
Date: Sat, 30 Mar 2019 12:44:31 +0000
Message-ID: <BN6PR18MB14768EFBB66C817C822CF7F5DD5B0@BN6PR18MB1476.namprd18.prod.outlook.com>
References: <BN6PR18MB14762C1987B8DCA4A89B30B6DD5A0@BN6PR18MB1476.namprd18.prod.outlook.com>,
 <FCBBBFF2-D833-4D15-AB43-DF37F4920D78@killerbytes.com>
 <BN6PR18MB14764B559AEB00C4223CB7C0DD5A0@BN6PR18MB1476.namprd18.prod.outlook.com>,
 <alpine.GSO.2.20.1903291757480.26402@scrappy.simplesystems.org>
In-Reply-To: <alpine.GSO.2.20.1903291757480.26402@scrappy.simplesystems.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-incomingtopheadermarker: OriginalChecksum:D5C4407A316218516461C1300BEE33F8F1307B62CBAE64AB17B89F24C273AF96;
 UpperCasedChecksum:58DBFD4D3E4B450E1902B8A9844414F39E35E3C9349AFF029ED95580090D9356;
 SizeAsReceived:7103; Count:45
x-ms-exchange-messagesentrepresentingtype: 1
x-tmn: [qP2AMlHN62ty1YRwgjioPFJr2LDiZaM4]
x-ms-publictraffictype: Email
x-incomingheadercount: 45
x-eopattributedmessage: 0
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(2390118)(7020095)(20181119110)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031322404)(2017031323274)(2017031324274)(1601125500)(1603101475)(1701031045);
 SRVR:BL2NAM02HT118; 
x-ms-traffictypediagnostic: BL2NAM02HT118:
x-microsoft-antispam-message-info: IVkKyoNZ47TZxFIi2gudUvAuXXsQFWGBooUkitkC13xF/tUKNF8j/gbBN42fabXS
MIME-Version: 1.0
X-OriginatorOrg: hotmail.com
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-Network-Message-Id: 45474b6f-6a75-4e35-9934-08d6b50d7479
X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2019 12:44:31.1961 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Internet
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2NAM02HT118
Subject: Re: [Tiff] combining TIFF images, not multi-page
X-BeenThere: tiff@lists.osgeo.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.osgeo.org>
List-Unsubscribe: <https://lists.osgeo.org/mailman/options/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=unsubscribe>
List-Post: <mailto:tiff@lists.osgeo.org>
List-Help: <mailto:tiff-request@lists.osgeo.org?subject=help>
List-Subscribe: <https://lists.osgeo.org/mailman/listinfo/tiff>,
 <mailto:tiff-request@lists.osgeo.org?subject=subscribe>
Cc: Tiff List <tiff@lists.osgeo.org>
Content-Type: multipart/mixed; boundary="===============3317489587801357996=="
Errors-To: tiff-bounces@lists.osgeo.org
Sender: "Tiff" <tiff-bounces@lists.osgeo.org>
X-GND-Status: LEGIT

--===============3317489587801357996==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_BN6PR18MB14768EFBB66C817C822CF7F5DD5B0BN6PR18MB1476namp_"

--_000_BN6PR18MB14768EFBB66C817C822CF7F5DD5B0BN6PR18MB1476namp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thanks Bob.

As to the "low RAM footprint way" - in fact I am hoping to use the hard-dri=
ve instead of RAM. This is why I have a folder full of small partial images=
 in the first place.
Even with a pyramidal representation, if I'm talking about a final image th=
at may be several hundred gigabytes (or larger) in size, I could never asse=
mble it all in memory in order to write the bottom layer of that pyramid. C=
an each resolution level be written in "tile by tile" or even line by line?=
 Does this require a different API (like the ImageMagick API?) I assume as =
well that BigTIFF can be a tiled pyramid?






________________________________
From: Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
Sent: Friday, March 29, 2019 7:02 PM
To: Paul Hemmer
Cc: Tiff List
Subject: Re: [Tiff] combining TIFF images, not multi-page

On Fri, 29 Mar 2019, Paul Hemmer wrote:

> Hi, thanks for the reply!
>
> Do tiled TIFFs open and display as a single image? Do the tiles all
> have to be the same size? My images are broken into full-height
> "columns" of varying widths, that I want to concatenate all together
> into one image in a low-RAM footprint way.

Tiled TIFF does typically "open and display as a single image" but
this is a function of the reader.  The reader might choose just to
display one tile, or the image portion corresponding to several tiles.
The tile size is fixed within a given TIFF image.

As has been subsquently mentioned, ImageMagick and GraphicsMagick
provide 'montage' functionality which can paste images together as you
describe, but they do not do so in a "low-RAM footprint way", unless
you are willing to use your hard drive in place of RAM.

If you are dealing with very large images, then it is common to use
tiled tiff with multiple resolutions of the same image so that the
viewer than see a zoomed-out image as well as zoom in to just part of
the image.

Bob
--


--_000_BN6PR18MB14768EFBB66C817C822CF7F5DD5B0BN6PR18MB1476namp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
Thanks&nbsp;Bob.</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
As to the &quot;low RAM footprint way&quot; - in fact I am hoping to use th=
e hard-drive instead of RAM. This is why I have a folder full of small part=
ial images in the first place.&nbsp;</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
Even with a pyramidal representation, if&nbsp;<span style=3D"font-family: C=
alibri, Helvetica, sans-serif; background-color: rgb(255, 255, 255); displa=
y: inline !important">I'm talking about a final image that may be several h=
undred gigabytes (or larger) in size, I
 could never assemble it all in memory in order to write the bottom layer o=
f that pyramid.&nbsp;</span><span style=3D"color: rgb(0, 0, 0); font-family=
: Calibri, Helvetica, sans-serif; font-size: 12pt;">Can each resolution lev=
el be written in &quot;tile by tile&quot; or even
 line by line? Does this require a different API (like the ImageMagick API?=
) I assume as well that BigTIFF can be a tiled pyramid?</span></div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<span style=3D"color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-s=
erif; font-size: 12pt;"><br>
</span></div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-family: Calibri, Helvetica, sans-serif; font-size: 12pt;=
 color: rgb(0, 0, 0);">
<br>
</div>
<div>
<div style=3D"font-family:Calibri,Helvetica,sans-serif; font-size:12pt; col=
or:rgb(0,0,0)">
<br>
</div>
<hr tabindex=3D"-1" style=3D"display:inline-block; width:98%">
<div id=3D"divRplyFwdMsg" dir=3D"ltr"><font face=3D"Calibri, sans-serif" co=
lor=3D"#000000" style=3D"font-size:11pt"><b>From:</b> Bob Friesenhahn &lt;b=
friesen@simple.dallas.tx.us&gt;<br>
<b>Sent:</b> Friday, March 29, 2019 7:02 PM<br>
<b>To:</b> Paul Hemmer<br>
<b>Cc:</b> Tiff List<br>
<b>Subject:</b> Re: [Tiff] combining TIFF images, not multi-page</font>
<div>&nbsp;</div>
</div>
<div class=3D"BodyFragment"><font size=3D"2"><span style=3D"font-size:11pt"=
>
<div class=3D"PlainText">On Fri, 29 Mar 2019, Paul Hemmer wrote:<br>
<br>
&gt; Hi, thanks for the reply!<br>
&gt;<br>
&gt; Do tiled TIFFs open and display as a single image? Do the tiles all <b=
r>
&gt; have to be the same size? My images are broken into full-height <br>
&gt; &quot;columns&quot; of varying widths, that I want to concatenate all =
together <br>
&gt; into one image in a low-RAM footprint way.<br>
<br>
Tiled TIFF does typically &quot;open and display as a single image&quot; bu=
t <br>
this is a function of the reader.&nbsp; The reader might choose just to <br=
>
display one tile, or the image portion corresponding to several tiles. <br>
The tile size is fixed within a given TIFF image.<br>
<br>
As has been subsquently mentioned, ImageMagick and GraphicsMagick <br>
provide 'montage' functionality which can paste images together as you <br>
describe, but they do not do so in a &quot;low-RAM footprint way&quot;, unl=
ess <br>
you are willing to use your hard drive in place of RAM.<br>
<br>
If you are dealing with very large images, then it is common to use <br>
tiled tiff with multiple resolutions of the same image so that the <br>
viewer than see a zoomed-out image as well as zoom in to just part of <br>
the image.<br>
<br>
Bob<br>
-- <br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>

--_000_BN6PR18MB14768EFBB66C817C822CF7F5DD5B0BN6PR18MB1476namp_--

--===============3317489587801357996==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGlmZiBtYWls
aW5nIGxpc3QKVGlmZkBsaXN0cy5vc2dlby5vcmcKaHR0cHM6Ly9saXN0cy5vc2dlby5vcmcvbWFp
bG1hbi9saXN0aW5mby90aWZmCg==

--===============3317489587801357996==--

