File: multispectral-imagery.html

package info (click to toggle)
imagemagick 8%3A7.1.2.8%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 78,412 kB
  • sloc: ansic: 372,773; cpp: 22,661; xml: 11,570; sh: 6,618; perl: 6,285; makefile: 3,497; tcl: 459
file content (372 lines) | stat: -rw-r--r-- 17,764 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372



<!DOCTYPE html>
<html lang="en" data-bs-theme="dark">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />

  <!-- Title and Description -->
  <title>ImageMagick | Multispectral Imagery</title>
  <meta name="description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />

  <!-- Canonical URL -->
  <link rel="canonical" href="multispectral-imagery.html" />

  <!-- Robots -->
  <meta name="robots" content="index, follow" />

  <!-- Theme Color -->
  <meta name="theme-color" content="#000000" />

  <!-- Verification Tags -->
  <meta name="google-site-verification" content="_bMOCDpkx9ZAzBwb2kF3PRHbfUUdFj2uO8Jd1AXArz4" />

  <!-- Favicon and Apple Icon -->
  <link rel="shortcut icon" href="../images/wand.png" type="images/png" />
  <link rel="apple-touch-icon" href="../images/wand.png" type="images/png" />

  <!-- Preconnect for External Resources -->
  <link rel="preconnect" href="../index.html" />

  <!-- Stylesheets -->
  <link rel="preload" href="assets/bootstrap.min.css" as="style" crossorigin="anonymous" />
  <link rel="stylesheet" href="assets/bootstrap.min.css" />

  <!-- Accessibility Enhancement -->
  <style>
    html {
      scroll-padding-top: 70px;
    }
  </style>

  <!-- Open Graph Meta Tags -->
  <meta property="og:title" content="ImageMagick | Multispectral Imagery" />
  <meta property="og:description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />
  <meta property="og:image" content="../images/logo.png" />
  <meta property="og:logo" content="../images/logo.png" />
  <meta property="og:url" content="../www/multispectral-imagery.html" />
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="ImageMagick" />
  <meta property="og:locale" content="en_us" />

  <!-- Twitter Card Meta Tags -->
  <meta name="twitter:card" content="summary_large_image" />
  <meta name="twitter:site" content="@imagemagick" />
  <meta name="twitter:creator" content="@imagemagick" />
  <meta name="twitter:title" content="ImageMagick | Multispectral Imagery" />
  <meta name="twitter:description" content="ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers." />
  <meta name="twitter:image" content="../images/logo.png" />
  <meta name="twitter:image:alt" content="ImageMagick logo and tag line" />

  <!-- JSON-LD Structured Data -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "SoftwareApplication",
    "name": "ImageMagick",
    "url": "../www/multispectral-imagery.html",
    "image": "../images/logo.png",
    "description": "ImageMagick is a powerful open-source software suite for creating, editing, converting, and manipulating images in over 200 formats. Ideal for developers, designers, and researchers.",
    "applicationCategory": "Multimedia",
    "operatingSystem": "Windows, macOS, Linux, Unix",
    "softwareVersion": "7.1.2-1",
    "license": "../www/license.html",
    "creator": {
      "@type": "Organization",
      "name": "ImageMagick Studio LLC",
      "url": "https://imagemagick.org"
    },
    "keywords": [
      "Multispectral Imagery",
      "image processing software",
      "image conversion tool",
      "batch image editing",
      "open-source image editor",
      "ImageMagick command-line",
      "resize images ImageMagick",
      "crop and rotate images",
      "ImageMagick tutorial",
      "ImageMagick automation",
      "ImageMagick for developers",
      "ImageMagick CLI",
      "ImageMagick filters and effects",
      "ImageMagick scripting",
      "ImageMagick API integration"
    ],
    "sameAs": [
      "https://github.com/ImageMagick",
      "https://x.com/imagemagick"
    ],
    "offers": {
      "@type": "Offer",
      "price": "0.00",
      "priceCurrency": "USD"
    }
  }
  </script>
  <!-- Google Custom Search -->
</head>
<body>
  <script>
    function setTheme(theme) {
      localStorage.setItem('theme', theme);
      updateThemeIcon(theme);
      document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? getSystemTheme() : theme);
    }
    function getSystemTheme() {
      return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
    }
    function updateThemeIcon(theme) {
      const iconMap = {
        light: '☀️',
        dark: '🌙',
        auto: '🌓'
      };
      document.getElementById('currentThemeIcon').textContent = iconMap[theme] || '🌓';
    }
    document.addEventListener('DOMContentLoaded', () => {
      const savedTheme = localStorage.getItem('theme') || 'auto';
      setTheme(savedTheme);
    });
  </script>
  <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
  <div class="container-fluid">
    <a class="navbar-brand fw-bold" href="../index.html" title="$meta->sitename;">
      ImageMagick    </a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#magick-navbars" aria-controls="magick-navbars" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="magick-navbars">
      <ul class="navbar-nav me-auto">
        <li class="nav-item">
          <a class="nav-link " href="download.html">Download</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="../www/command-line-tools.html">Tools</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="command-line-processing.html">CLI</a>
        </li>
        <li class="nav-item">
          <a class="nav-link " href="develop.html">Develop</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" rel="noopener" target="_blank" href="https://github.com/ImageMagick/ImageMagick/discussions">Community</a>
        </li>
        <li class="nav-item ms-4">
          <iframe src="https://github.com/sponsors/ImageMagick/button" title="Sponsor ImageMagick" height="35" width="107" style="border: 0;"></iframe>
        </li>
      </ul>
      <ul class="navbar-nav ms-auto">
        <li class="nav-item dropdown">
                  </li>
        <li class="nav-item dropdown ms-2">
          <a class="nav-link dropdown-toggle" href="#" id="themeDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            <span id="currentThemeIcon">🌓</span>
          </a>
          <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="themeDropdown">
            <li><a class="dropdown-item" href="#" onclick="setTheme('light')">☀️ Light</a></li>
            <li><a class="dropdown-item" href="#" onclick="setTheme('dark')">🌙 Dark</a></li>
            <li><a class="dropdown-item" href="#" onclick="setTheme('auto')">🌓 Auto</a></li>
          </ul>
        </li>
      </ul>
    </div>
  </div>
  </nav>

<div class="col-lg-8 mx-auto text-body-secondary pt-5 pt-lg-5">
  <header class="d-flex align-items-center pb-3 mb-5 border-bottom">
    <div class="mt-3 ms-3">
      <a href="../index.html" class="text-decoration-none">
        <h1 class="fs-2 mb-1">Multispectral Imagery</h1>
      </a>
      <h2 class="fs-5 text-muted">ImageMagick</h2>
    </div>
  </header>

  <main class="container">
<div>
<p class="lead">Multispectral imagery refers to images that are captured using multiple bands of the electromagnetic spectrum, beyond just the visible light spectrum. This means that they capture data across a wider range of wavelengths, from ultraviolet to infrared.</p>
<p>By capturing data across multiple spectral bands, multispectral imagery can provide additional information about the objects or scenes being imaged, such as their composition, temperature, and vegetation health. This information can be used for a wide range of applications, including agriculture, environmental monitoring, disaster response, and military surveillance.</p>
<p>Multispectral imagery is often captured using specialized sensors on satellites, drones, or aircraft. The data is then processed using specialized software to create images that display the information captured in each spectral band.</p>
<p>Overall, multispectral imagery provides a powerful tool for analyzing and understanding the world around us, allowing us to gain insights that would be impossible to obtain using visible light imagery alone.</p>
<h4>Multispectral Support in ImageMagick</h4>
<p>ImageMagick supports multispectral images where all channels have the same dimensions and number of pixels as the original image.  However, not all image formats support multispectral images.  PSD, TIFF, MIFF, MPC, and <a href="http://im.snibgo.com/fmttxt.htm">FTXT</a> have full support for multispectral images up to 31 bands with 21 meta channels. If you build ImageMagick with the configure script <samp>--enable-64bit-channel-masks</samp> option, you can process 62 band multispectral images with up to 52 meta channels.</p>
<p>We call image channels beyond the standard RGB(A) or CMYK(A) channels, "meta" channels.  We label them as "meta", "meta1", "meta2", etc..  Meta channels are treated the same as any other channel meaning they can be read, written, and operated upon-- e.g., resized, gamma adjusted, etc.</p>
<h5>Create a Multispectral Image</h5>
<p>Begin with a multispectral image, typically in the TIFF or PSD format.  If you don't have one, you can create your own.  In our example, we create a single CMYK pixel with two meta channels.  Stuff this in a file titled <code>multiMeta.txt</code>:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>0,0: 10,20,30,40,50,60</samp></pre>
<p>Let's convert that to the TIFF image format:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>$ magick -size 1x1 -colorspace CMYK -define ftxt:format="\x,\y:\c\n" -define ftxt:hasalpha=false -define ftxt:nummeta=2 ftxt:multiMeta.txt multiMeta.tif</samp></pre>
<p>Let confirm that worked as expected:</p>
<pre class="pre-scrollable p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>$ identify -verbose multiMeta.tif
Image:
  Filename: multiMeta.tif
  Permissions: rw-------
  Format: TIFF (Tagged Image File Format)
  Mime type: images/tiff
  Class: DirectClass
  Geometry: 1x1+0+0
  Units: PixelsPerInch
  Colorspace: CMYK
  Type: ColorSeparation
  Endianness: LSB
  Depth: 16-bit
  Channels: 6.2
  Channel depth:
    Cyan: 16-bit
    Magenta: 16-bit
    Yellow: 16-bit
    Black: 16-bit
    Meta channel[0]: 16-bit
    Meta channel[1]: 16-bit
  Channel statistics:
    Pixels: 1
    Cyan:
      min: 10  (0.00015259)
      max: 10 (0.00015259)
      mean: 10 (0.00015259)
      median: 10 (0.00015259)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
    Magenta:
      min: 20  (0.00030518)
      max: 20 (0.00030518)
      mean: 20 (0.00030518)
      median: 20 (0.00030518)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
    Yellow:
      min: 30  (0.000457771)
      max: 30 (0.000457771)
      mean: 30 (0.000457771)
      median: 30 (0.000457771)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
    Black:
      min: 40  (0.000610361)
      max: 40 (0.000610361)
      mean: 40 (0.000610361)
      median: 40 (0.000610361)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
    Meta channel[0]:
      min: 50  (0.000762951)
      max: 50 (0.000762951)
      mean: 50 (0.000762951)
      median: 50 (0.000762951)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
    Meta channel[1]:
      min: 60  (0.000915541)
      max: 60 (0.000915541)
      mean: 60 (0.000915541)
      median: 60 (0.000915541)
      standard deviation: 0 (0)
      kurtosis: -3
      skewness: 0
      entropy: 0
  Image statistics:
    Overall:
      min: 10  (0.00015259)
      max: 60 (0.000915541)
      mean: 35 (0.000534066)
      median: 35 (0.000534066)
      standard deviation: 0 (0)
      kurtosis: -1.79762
      skewness: 4.44476e-15
      entropy: 0
  Total ink density: 0.15259%
  Colors: 1
  Histogram:
             1: (10,20,30,40) #000A0014001E0028 cmyk(0.0389105,0.077821,0.116732,0.155642)
  Rendering intent: Perceptual
  Gamma: 0.454545
  Chromaticity:
    red primary: (0.64,0.33)
    green primary: (0.3,0.6)
    blue primary: (0.15,0.06)
    white point: (0.3127,0.329)
  Matte color: grey74
  Background color: white
  Border color: srgb(223,223,223)
  Transparent color: black
  Interlace: None
  Intensity: Undefined
  Compose: Over
  Page geometry: 1x1+0+0
  Dispose: Undefined
  Iterations: 0
  Compression: None
  Orientation: TopLeft
  Properties:
    date:create: 2023-03-12T11:38:42+00:00
    date:modify: 2023-03-12T11:38:42+00:00
    date:timestamp: 2023-03-12T11:38:56+00:00
    signature: c51848f16d296f7c95be14404cc582f49db6fd33f31b544a2ce10e440b3747b3
    tiff:alpha: unspecified
    tiff:endian: lsb
    tiff:photometric: separated
    tiff:rows-per-strip: 1
  Artifacts:
    verbose: true
  Tainted: False
  Filesize: 306B
  Number pixels: 1
</samp></pre>
<p>Notice the channel depth and statistics associated with the two meta channels.</p>
<h5>Working with Multispectral Images</h5>
<p>Meta channels are treated the same as any other channel meaning they can be read, written, and operated upon-- e.g., resized, gamma adjusted, etc..  Here, we replace the first channel with the contents of the meta channel:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick multiMeta.tif -channel-fx 'meta1=>cyan' multiMeta-1.tif</samp></pre>
<p>The original cyan channel has an intensity of 10.  It's now, per the channel FX instructions, 50.</p>
<p>And in this example, we create two meta channels:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick lena.png \( mandril3.jpg -colorspace gray \) -channel-fx '| gray=>meta' \( zelda1.jpg -colorspace gray \) -channel-fx '| gray=>meta1' meta.tif</samp></pre>
<p>In this example, we blend two meta channels into a single alpha channel:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick in.tiff -alpha opaque \( +clone -set colorspace sRGB -channel-fx "meta0=>red meta1=>green" \) -channel A -fx "(v.r+v.g)/2" +channel out.tiff</samp></pre>
<br/>
<h5>Writing Multispectral Images</h5>
<p>You can preserve multispectral images by writing them to a format that supports meta channels such as TIFF or PSD.  If you write to other image formats that do not support multisprectal images, the channels are not preserved and instead lost-- e.g., PNG.  In this example, we read, resize, and  write a multispectral image:</p>
<pre class="p-3 mb-2 text-body-secondary bg-body-tertiary"><samp>magick multiMeta.tif -resize 50% resizedMeta.tif</samp></pre>
</div>
  </main><!-- /.container -->
  <footer class="text-center pt-5 my-5 text-body-secondary border-top">
    <div class="container-fluid">
      <a href="security-policy.html">Security</a> •
      <a href="news.html">News</a>
     
      <a href="#"><img class="d-inline" id="wand" alt="And Now a Touch of Magick" width="16" height="16" src="../images/wand.ico" /></a>
     
      <a href="../www/links.html">Related</a> •
      <a href="../www/sitemap.html">Sitemap</a>
   <br />
     <a href="../www/support.html">Sponsor</a> •
     <a href="../www/cite.html">Cite</a> •
     <a href="http://pgp.mit.edu/pks/lookup?op=get&amp;search=0x89AB63D48277377A">Public Key</a> •
     <a href="../www/../www/https://imagemagick.org/script/contact.php">Contact Us</a>
   <br />
     <a href="https://github.com/imagemagick/imagemagick" rel="noopener" target="_blank" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 512 499.36" width="2%" height="2%" role="img" focusable="false"><title>GitHub</title><path fill="currentColor" fill-rule="evenodd" d="M256 0C114.64 0 0 114.61 0 256c0 113.09 73.34 209 175.08 242.9 12.8 2.35 17.47-5.56 17.47-12.34 0-6.08-.22-22.18-.35-43.54-71.2 15.49-86.2-34.34-86.2-34.34-11.64-29.57-28.42-37.45-28.42-37.45-23.27-15.84 1.73-15.55 1.73-15.55 25.69 1.81 39.21 26.38 39.21 26.38 22.84 39.12 59.92 27.82 74.5 21.27 2.33-16.54 8.94-27.82 16.25-34.22-56.84-6.43-116.6-28.43-116.6-126.49 0-27.95 10-50.8 26.35-68.69-2.63-6.48-11.42-32.5 2.51-67.75 0 0 21.49-6.88 70.4 26.24a242.65 242.65 0 0 1 128.18 0c48.87-33.13 70.33-26.24 70.33-26.24 14 35.25 5.18 61.27 2.55 67.75 16.41 17.9 26.31 40.75 26.31 68.69 0 98.35-59.85 120-116.88 126.32 9.19 7.9 17.38 23.53 17.38 47.41 0 34.22-.31 61.83-.31 70.23 0 6.85 4.61 14.81 17.6 12.31C438.72 464.97 512 369.08 512 256.02 512 114.62 397.37 0 256 0z"/></svg></a> •
     <a href="https://twitter.com/imagemagick" rel="noopener" target="_blank" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" class="navbar-nav-svg" viewBox="0 0 300 300" width="2%" height="2%" role="img" focusable="false"><title>Twitter</title><path d="M178.57 127.15 290.27 0h-26.46l-97.03 110.38L89.34 0H0l117.13 166.93L0 300.25h26.46l102.4-116.59 81.8 116.59h89.34M36.01 19.54H76.66l187.13 262.13h-40.66"/></svg></a>
    <br />
    <small>Copyright © 1999 ImageMagick Studio LLC</small>
    </div>
  </footer>
</div>

  <!-- Javascript assets -->
  <script src="assets/bootstrap.bundle.min.js" ></script>
  </body>
</html>