{"id":3524,"date":"2023-08-31T11:12:58","date_gmt":"2023-08-31T11:12:58","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/tree-wilt-detection\/"},"modified":"2026-08-10T08:42:36","modified_gmt":"2026-08-10T06:42:36","slug":"tree-wilt-detection","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/","title":{"rendered":"Detect tree wilt with machine learning"},"content":{"rendered":"<style>\n.nds{--nds-code-bg:#f3f7fa;--nds-code-fg:#12354b;width:100vw;margin-left:calc(50% - 50vw);padding:22px 24px 14px;background:#eee;color:#1b2635;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}\n.nds *{box-sizing:border-box}.nds-wrap{width:min(100%,1200px);margin:0 auto}.nds a{text-decoration:none;color:#2d799f}\n.nds-executive{margin:0 0 34px;padding:32px;border-radius:20px;background:linear-gradient(135deg,#12354b,#245e80);color:#fff}.nds-executive h2{margin:0 0 12px;color:#fff;font-size:30px}.nds-executive p{font-size:18px;line-height:1.55}\n.nds-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.nds-kpi{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1)}.nds-kpi strong{display:block;font-size:25px}.nds-kpi span{font-size:13px}\n.nds-actions,.nds-audience,.nds-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.nds-actions a,.nds-downloads a{padding:12px 20px;border-radius:24px;background:#245e80;color:#fff;font-weight:700}.nds-executive .nds-actions a{background:#fff;color:#12354b}\n.nds-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 42px;padding:0;list-style:none}.nds-toc a,.nds-audience span{display:block;padding:9px 14px;border-radius:20px;background:#e9f2f8;color:#12354b;font-weight:600}\n.nds-card{margin:0 0 54px;scroll-margin-top:90px}.nds-card h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #dbe5ec;color:#001233;font-size:24px}.nds-card p,.nds-card li{font-size:16.5px;line-height:1.6}.nds-card img{display:block;width:auto;max-width:min(640px,100%);height:auto;margin:24px auto;border-radius:12px}.nds-card img.nds-architecture{width:min(1000px,100%);max-width:100%}\n.nds-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.nds-value{padding:20px;border:1px solid #dce8ef;border-radius:14px;background:#f8fbfd}.nds-note{margin:20px 0;padding:18px 20px;border-left:4px solid #56a1c8;border-radius:0 12px 12px 0;background:#f6fafc}.nds-note--warning{border-left-color:#d79a29;background:#fff9ed}\n.nds-table-scroll{max-width:100%;overflow-x:auto}.nds-card table{width:auto;max-width:100%;margin:24px auto;border-collapse:collapse;background:#fff}.nds-card th,.nds-card td{padding:11px 16px;border-bottom:1px solid #e2e9ee}.nds-card thead th{background:#12354b!important;color:#fff!important}.nds-card tbody th{background:#eaf2f6!important;color:#12354b!important;text-align:left}.nds-card tbody tr:nth-child(even) th{background:#f4f8fa!important}.nds-card tbody td{color:#33424f!important}\n.nds-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.nds-figure-grid figure,.nds-architecture-figure{margin:0;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}.nds-figure-grid img{width:100%;max-width:100%;margin:0 auto 12px}.nds-card figcaption{color:#405361;font-size:14px;line-height:1.45}\n.nds pre,.nds .wp-block-code,.nds pre[class*=\"language-\"]{display:block;max-width:100%;overflow:auto;padding:18px 20px!important;border:1px solid #d5e2e9!important;border-radius:12px!important;background:var(--nds-code-bg)!important;color:var(--nds-code-fg)!important;box-shadow:none!important;text-shadow:none!important;white-space:pre}\n.nds pre code,.nds pre code *,.nds .wp-block-code code,.nds .wp-block-code code *{border:0!important;background:transparent!important;color:var(--nds-code-fg)!important;box-shadow:none!important;text-shadow:none!important;font-family:Consolas,\"Liberation Mono\",monospace!important;font-size:14px;line-height:1.55}\n.nds :not(pre)>code{padding:.08em .32em;border-radius:4px;background:#e6eef3!important;color:#12354b!important}\n.nds .nds-expression{max-width:100%;overflow:auto;margin:22px auto;padding:18px 20px;border:1px solid #d5e2e9;border-radius:12px;background:#fff!important;color:#12354b!important;text-align:center}\n.nds .nds-expression math,.nds .nds-expression mjx-container,.nds .nds-expression .MathJax{background:transparent!important;color:#12354b!important}\n@media(max-width:820px){.nds-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.nds-value-grid{grid-template-columns:1fr}}\n@media(max-width:620px){.nds{padding:12px 14px}.nds-kpis,.nds-figure-grid{grid-template-columns:1fr}.nds-executive{padding:24px 20px}.nds-card table{font-size:13px}.nds-card th,.nds-card td{padding:9px 8px}}\n<\/style>\n<style>\n.nds-centered-figure{max-width:780px;margin:24px auto!important;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}\n.nds-centered-figure img{display:block;width:100%;max-width:100%;margin:0 auto 12px}\n.nds-validation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}\n.nds-validation-grid table{margin-top:0}\n.nds-confusion td,.nds-metrics td:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}\n.nds-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:24px 0}\n.nds-flow div{position:relative;display:flex;min-height:92px;align-items:center;justify-content:center;padding:13px 9px;border-radius:13px;background:#12354b;color:#fff;text-align:center;font-weight:700}\n.nds-flow div:not(:last-child):after{content:\"\u2192\";position:absolute;right:-15px;top:50%;z-index:2;transform:translateY(-50%);color:#56a1c8;font-size:21px}\n.nds-case-result,.nds-tree-result{margin:20px auto;padding:22px;border:1px solid #cfe1eb;border-radius:15px;background:#f7fbfd;text-align:center}\n.nds-case-result span,.nds-case-result strong,.nds-tree-result span,.nds-tree-result strong,.nds-tree-result small{display:block}.nds-case-result strong,.nds-tree-result strong{margin:6px 0;color:#12354b;font-size:26px}\n.nds-calculator{margin:30px 0;padding:24px;border:1px solid #cfe1eb;border-radius:18px;background:#f7fbfd}\n.nds-calculator h3{margin-top:0}.nds-calculator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}\n.nds-calculator label{display:flex;flex-direction:column;gap:6px;color:#12354b;font-size:13px;font-weight:700}\n.nds-calculator input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b9cfdb;border-radius:9px;background:#fff;color:#173246;font:inherit}\n.nds-calculator input:focus{outline:3px solid rgba(86,161,200,.22);border-color:#2d799f}.nds-calculator .is-invalid{border-color:#c94747;background:#fff8f8}\n.nds-calculator small{color:#617482;font-size:11px;font-weight:400}.nds-calculator-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0}\n.nds-calculator button{padding:11px 19px;border:0;border-radius:24px;background:#245e80;color:#fff;font:inherit;font-weight:700;cursor:pointer}.nds-calculator button[type=reset]{background:#e1edf3;color:#12354b}\n.nds-calculator-error{min-height:24px;margin:0 0 10px;color:#a12828;text-align:center;font-weight:600}\n@media(max-width:960px){.nds-validation-grid{grid-template-columns:1fr}.nds-flow{grid-template-columns:repeat(3,1fr)}.nds-flow div:after{display:none}}\n@media(max-width:760px){.nds-flow,.nds-calculator-grid{grid-template-columns:1fr}.nds-flow div:after{display:none}}\n<\/style>\n<div class=\"nds\" data-science-profile=\"environmental-ecological\">\n<div class=\"nds-wrap\">\n<section class=\"nds-executive\">\n<h2>Screen satellite-image segments for tree-wilt signatures<\/h2>\n<p>This reproducible classification study uses five QuickBird spectral and texture descriptors to distinguish wilt-labelled segments from other land cover. After an explicit 3-IQR outlier-cleaning step, the selected 5\u20134\u20131 network classifies 85 of 113 held-out rows correctly (75.2%; ROC AUC 0.819). The result is an internal benchmark for a deliberately rebalanced tutorial subset, not a validated forest-health monitoring system.<\/p>\n<div class=\"nds-kpis\">\n<div class=\"nds-kpi\"><strong>75.2%<\/strong><span>held-out accuracy<\/span><\/div>\n<div class=\"nds-kpi\"><strong>77.6%<\/strong><span>wilt sensitivity<\/span><\/div>\n<div class=\"nds-kpi\"><strong>0.819<\/strong><span>testing ROC AUC<\/span><\/div>\n<div class=\"nds-kpi\"><strong>113<\/strong><span>held-out segments<\/span><\/div>\n<\/div>\n<div class=\"nds-actions\"><a href=\"#6-validation\">Review scientific validation<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree_wilt.csv\">Download the data<\/a><\/div>\n<\/section>\n<ul class=\"nds-toc\">\n<li><a href=\"#1-scientific-objective\">Scientific objective<\/a><\/li>\n<li><a href=\"#2-data-provenance\">Data and provenance<\/a><\/li>\n<li><a href=\"#3-model\">Model<\/a><\/li>\n<li><a href=\"#4-training\">Training<\/a><\/li>\n<li><a href=\"#5-selection\">Selection<\/a><\/li>\n<li><a href=\"#6-validation\">Validation<\/a><\/li>\n<li><a href=\"#7-inference\">Inference<\/a><\/li>\n<li><a href=\"#8-validity\">Validity<\/a><\/li>\n<\/ul>\n<section id=\"1-scientific-objective\" class=\"nds-card\">\n<h2>1. Scientific objective<\/h2>\n<p>The objective is to reproduce a binary remote-sensing classifier that assigns a wilt score to a segmented QuickBird image object. The source study targeted foliage discolouration associated with Japanese oak wilt and Japanese pine wilt. In a research workflow, the model can help prioritize image segments for map review and field inspection; it does not identify a pathogen or confirm disease in an individual tree.<\/p>\n<div class=\"nds-value-grid\">\n<div class=\"nds-value\"><strong>Prioritize candidate segments<\/strong><\/p>\n<p>Rank image objects from routinely derived spectral and panchromatic texture summaries.<\/p>\n<\/div>\n<div class=\"nds-value\"><strong>Audit preprocessing<\/strong><\/p>\n<p>Expose the exact subset construction, outlier rule, exclusions and random split before modelling.<\/p>\n<\/div>\n<div class=\"nds-value\"><strong>Evaluate missed detections<\/strong><\/p>\n<p>Report sensitivity, specificity and false-negative counts rather than accuracy alone.<\/p>\n<\/div>\n<\/div>\n<div class=\"nds-audience\">\n<span>Forest-health researchers<\/span><span>Remote-sensing specialists<\/span><span>Environmental data scientists<\/span><span>Geospatial analysts<\/span>\n<\/div>\n<div class=\"nds-note\"><strong>Scope.<\/strong> Each row is a segmented satellite-image object, not a longitudinal observation of a tree. The endpoint is the supplied binary label <code>wilt<\/code>; the page does not model disease progression, causal agents, infestation severity or individual-tree survival.<\/div>\n<\/section>\n<section id=\"2-data-provenance\" class=\"nds-card\">\n<h2>2. Data and provenance<\/h2>\n<p>The downloadable <a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree_wilt.csv\" download><code>tree_wilt.csv<\/code><\/a> contains 574 rows, five numeric inputs and one binary target, with no missing values.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>CSV field<\/th>\n<th>Model role<\/th>\n<th>Definition<\/th>\n<th>Unit or coding<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th><code>glcm<\/code><\/th>\n<td>Input<\/td>\n<td>Mean grey-level co-occurrence-matrix texture statistic from the panchromatic band<\/td>\n<td>Image-derived statistic<\/td>\n<\/tr>\n<tr>\n<th><code>green<\/code><\/th>\n<td>Input<\/td>\n<td>Mean green-band value inside the image segment<\/td>\n<td>Source-image digital value<\/td>\n<\/tr>\n<tr>\n<th><code>red<\/code><\/th>\n<td>Input<\/td>\n<td>Mean red-band value inside the image segment<\/td>\n<td>Source-image digital value<\/td>\n<\/tr>\n<tr>\n<th><code>nir<\/code><\/th>\n<td>Input<\/td>\n<td>Mean near-infrared-band value inside the image segment<\/td>\n<td>Source-image digital value<\/td>\n<\/tr>\n<tr>\n<th><code>pan_band<\/code><\/th>\n<td>Input<\/td>\n<td>Standard deviation of panchromatic-band values inside the segment<\/td>\n<td>Source-image digital value<\/td>\n<\/tr>\n<tr>\n<th><code>wilt<\/code><\/th>\n<td>Target<\/td>\n<td>Supplied segment class<\/td>\n<td>1 = diseased-tree segment; 0 = other land cover<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Derived tutorial subset<\/h3>\n<p>The UCI release provides separate training and testing files. This tutorial table is a derived, rebalanced subset: it contains all 500 rows from the source testing file plus the 74 diseased-tree rows from the source training file. It excludes the 4,265 other-land-cover rows from that training file. The resulting table contains 261 positive and 313 negative rows and must not be compared directly with results from the original UCI split.<\/p>\n<h3>Outlier cleaning before modelling<\/h3>\n<p>Neural Designer applies Tukey&#8217;s rule to the numeric variables: values outside <code>[Q1 \u2212 3\u00d7IQR, Q3 + 3\u00d7IQR]<\/code> are flagged. The per-variable counts are shown below; they overlap, so they do not sum to the number of excluded rows.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Variable<\/th>\n<th>Flagged values<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th><code>glcm<\/code><\/th>\n<td>0<\/td>\n<\/tr>\n<tr>\n<th><code>green<\/code><\/th>\n<td>6<\/td>\n<\/tr>\n<tr>\n<th><code>red<\/code><\/th>\n<td>4<\/td>\n<\/tr>\n<tr>\n<th><code>nir<\/code><\/th>\n<td>1<\/td>\n<\/tr>\n<tr>\n<th><code>pan_band<\/code><\/th>\n<td>1<\/td>\n<\/tr>\n<tr>\n<th><code>wilt<\/code><\/th>\n<td>0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Seven overlapping rows (1.22% of the table) are marked unused. All seven have <code>wilt = 0<\/code>. The model therefore uses 567 rows: 261 positive and 306 negative.<\/p>\n<div class=\"nds-figure-grid\">\n<figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-green-before-cleaning-2026.png\" alt=\"Green-band distribution before outlier cleaning\"><figcaption>Before cleaning, a few extreme green-band values stretch the horizontal scale and compress the central distribution.<\/figcaption><\/figure>\n<figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-green-after-cleaning-2026.png\" alt=\"Green-band distribution after outlier cleaning\"><figcaption>After the flagged rows are marked unused, the distribution of the 567 modelled rows becomes interpretable.<\/figcaption><\/figure>\n<\/div>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Project role<\/th>\n<th>Rows<\/th>\n<th>Wilt<\/th>\n<th>Other land cover<\/th>\n<th>Purpose<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Training<\/th>\n<td>341<\/td>\n<td>150<\/td>\n<td>191<\/td>\n<td>Estimate model parameters<\/td>\n<\/tr>\n<tr>\n<th>Selection<\/th>\n<td>113<\/td>\n<td>62<\/td>\n<td>51<\/td>\n<td>Compare hidden-layer sizes<\/td>\n<\/tr>\n<tr>\n<th>Testing<\/th>\n<td>113<\/td>\n<td>49<\/td>\n<td>64<\/td>\n<td>Report final internal performance<\/td>\n<\/tr>\n<tr>\n<th>Unused after cleaning<\/th>\n<td>7<\/td>\n<td>0<\/td>\n<td>7<\/td>\n<td>Excluded before fitting<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-note nds-note--provenance\"><strong>Provenance.<\/strong> The <a href=\"https:\/\/archive.ics.uci.edu\/dataset\/285\/wilt\">UCI Wilt dataset<\/a> was donated by Brian Johnson and is licensed CC BY 4.0 (<a href=\"https:\/\/doi.org\/10.24432\/C5KS4M\">dataset DOI<\/a>). It contains segmented, pansharpened QuickBird imagery from the remote-sensing study by Johnson, Tateishi and Hoan. The download on this page preserves source numeric values while renaming the fields and converting the class to 0\/1.<\/div>\n<\/section>\n<section id=\"3-model\" class=\"nds-card\">\n<h2>3. Model<\/h2>\n<p>The initial network standardizes the five inputs, passes them through one dense layer with three tanh neurons and returns one sigmoid score. The 5\u20133\u20131 architecture contains 22 trainable parameters and is used as the starting point before hidden-layer selection.<\/p>\n<div class=\"nds-note\"><strong>Output contract.<\/strong> A score of at least 0.50 is labelled as a wilt candidate. The sigmoid value has not been independently calibrated as a probability, and the threshold has not been optimized for a forestry decision cost.<\/div>\n<figure class=\"nds-architecture-figure\" data-model-stage=\"initial\"><img decoding=\"async\" class=\"nds-architecture\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-initial-network-2026.png\" alt=\"Initial tree-wilt classifier with five inputs, three hidden neurons and one output\"><figcaption>Initial 5\u20133\u20131 architecture used before neuron selection.<\/figcaption><\/figure>\n<\/section>\n<section id=\"4-training\" class=\"nds-card\">\n<h2>4. Training strategy<\/h2>\n<p>The classifier minimizes class-weighted squared error with the quasi-Newton method. The stored configuration uses positive and negative weights of 1.0862 and 0.9265, respectively, and no explicit regularization.<\/p>\n<p>For the initial three-neuron network, training error falls from 0.982 to 0.169 over 98 epochs. Selection error reaches its lowest region much earlier\u2014approximately 0.158 near epoch 24\u2014and then rises to 0.548. This divergence is evidence of overfitting in the displayed run; it is one reason not to judge the model from training loss alone.<\/p>\n<figure class=\"nds-centered-figure\"><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-training-history-2026.png\" alt=\"Training and selection error history for the initial tree-wilt network\"><figcaption>Initial-network learning curve. The widening gap after the minimum selection error should be treated as a model-development warning, not as evidence of improved generalization.<\/figcaption><\/figure>\n<\/section>\n<section id=\"5-selection\" class=\"nds-card\">\n<h2>5. Model selection and baseline<\/h2>\n<p>Growing-neurons selection evaluates hidden-layer sizes from one to ten, with three trials per size. The lowest reported selection error is 0.1657 at four hidden neurons; the corresponding training error is 0.1380.<\/p>\n<figure class=\"nds-centered-figure\"><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-neuron-selection-2026.png\" alt=\"Tree-wilt training and selection error by hidden-neuron count\"><figcaption>Neuron-selection history. Four tanh neurons provide the lowest selection error in this search.<\/figcaption><\/figure>\n<h3>Selected architecture<\/h3>\n<p>The selected 5\u20134\u20131 network has 29 trainable parameters and is the model used for the final testing analysis, browser demonstration and downloadable Python export.<\/p>\n<figure class=\"nds-architecture-figure\" data-model-stage=\"selected\"><img decoding=\"async\" class=\"nds-architecture\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-selected-network-2026.png\" alt=\"Selected tree-wilt classifier with five inputs, four hidden neurons and one output\"><figcaption>Final 5\u20134\u20131 architecture obtained after growing-neurons selection.<\/figcaption><\/figure>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Reference<\/th>\n<th>Testing accuracy<\/th>\n<th>Interpretation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Majority-class baseline<\/th>\n<td>56.6%<\/td>\n<td>Predict every testing row as other land cover<\/td>\n<\/tr>\n<tr>\n<th>Selected neural network<\/th>\n<td>75.2%<\/td>\n<td>18.6 percentage points above the internal baseline<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/section>\n<section id=\"6-validation\" class=\"nds-card\">\n<h2>6. Scientific validation<\/h2>\n<p>Final performance is calculated once on 113 rows assigned to the testing subset. At the fixed 0.50 threshold, the classifier detects 38 of 49 wilt-labelled segments and correctly rejects 47 of 64 other-land-cover segments.<\/p>\n<figure class=\"nds-centered-figure\"><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-roc-curve-2026.png\" alt=\"ROC curve for the tree-wilt testing subset\"><figcaption>The regenerated Neural Designer curve reports ROC AUC 0.819 (95% confidence interval 0.751\u20130.888). The marked 0.51 threshold is the testing point nearest the upper-left corner; it is descriptive and must not be treated as an independently validated operational cutoff.<\/figcaption><\/figure>\n<div class=\"nds-validation-grid\">\n<div class=\"nds-table-scroll\">\n<table class=\"nds-confusion\">\n<thead>\n<tr>\n<th>Actual \/ predicted<\/th>\n<th>Wilt candidate<\/th>\n<th>Other land cover<\/th>\n<th>Total<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Wilt<\/th>\n<td>38<\/td>\n<td>11<\/td>\n<td>49<\/td>\n<\/tr>\n<tr>\n<th>Other land cover<\/th>\n<td>17<\/td>\n<td>47<\/td>\n<td>64<\/td>\n<\/tr>\n<tr>\n<th>Total<\/th>\n<td>55<\/td>\n<td>58<\/td>\n<td>113<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-table-scroll\">\n<table class=\"nds-metrics\">\n<thead>\n<tr>\n<th>Testing metric<\/th>\n<th>Value<\/th>\n<th>Operational reading<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Accuracy<\/th>\n<td>75.2%<\/td>\n<td>85 of 113 testing segments are classified correctly<\/td>\n<\/tr>\n<tr>\n<th>Wilt precision<\/th>\n<td>69.1%<\/td>\n<td>38 of 55 flagged segments are true positives in this split<\/td>\n<\/tr>\n<tr>\n<th>Wilt sensitivity<\/th>\n<td>77.6%<\/td>\n<td>38 of 49 wilt-labelled segments are detected<\/td>\n<\/tr>\n<tr>\n<th>Specificity<\/th>\n<td>73.4%<\/td>\n<td>47 of 64 other-land-cover segments are rejected<\/td>\n<\/tr>\n<tr>\n<th>Wilt F1<\/th>\n<td>0.731<\/td>\n<td>Harmonic balance of precision and sensitivity<\/td>\n<\/tr>\n<tr>\n<th>Balanced accuracy<\/th>\n<td>75.5%<\/td>\n<td>Mean of sensitivity and specificity<\/td>\n<\/tr>\n<tr>\n<th>ROC AUC<\/th>\n<td>0.819<\/td>\n<td>Ranking performance across all score thresholds<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div class=\"nds-figure-grid\"><\/div>\n<div class=\"nds-note\"><strong>Interpretation.<\/strong> The network improves clearly on the 56.6% majority baseline, but it still misses 11 of 49 wilt-labelled testing segments and raises 17 false alerts. Those two error types should be assigned explicit field-review costs before choosing a deployment threshold.<\/div>\n<\/section>\n<section id=\"7-inference\" class=\"nds-card\">\n<h2>7. Inference and reproducibility<\/h2>\n<p>A defensible inference pipeline starts upstream of the neural network. Image segmentation and the five feature definitions must remain identical to the study pipeline, and every prediction must retain acquisition and segment identifiers for spatial review.<\/p>\n<div class=\"nds-flow\">\n<div>QuickBird image segment<\/div>\n<div>Reproduce five descriptors<\/div>\n<div>Schema and range checks<\/div>\n<div>5\u20134\u20131 classifier<\/div>\n<div>Score and threshold<\/div>\n<div>Map review and field confirmation<\/div>\n<\/div>\n<h3>Illustrative threshold scenarios<\/h3>\n<p>The testing rows illustrate the operational trade-off. Lowering the cutoff prioritizes sensitivity and reduces missed wilt candidates, but sends more segments to review. These figures are retrospective; a real threshold must be chosen on separate validation data from the intended surveillance programme.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Testing scenario<\/th>\n<th>Threshold<\/th>\n<th>Sensitivity<\/th>\n<th>Specificity<\/th>\n<th>False negatives<\/th>\n<th>False positives<\/th>\n<th>Interpretation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Nearest ROC corner<\/th>\n<td>0.51<\/td>\n<td>77.6%<\/td>\n<td>75.0%<\/td>\n<td>11<\/td>\n<td>16<\/td>\n<td>Balanced internal discrimination<\/td>\n<\/tr>\n<tr>\n<th>Surveillance-first<\/th>\n<td>0.20<\/td>\n<td>91.8%<\/td>\n<td>48.4%<\/td>\n<td>4<\/td>\n<td>33<\/td>\n<td>Fewer missed candidates, substantially more field or image review<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h3>Held-out calculation example<\/h3>\n<p>The rounded values below correspond to a row assigned to the testing subset. Its supplied target is other land cover. The exported model returns a wilt score of 0.020051 and therefore assigns the negative class at the 0.50 threshold.<\/p>\n<div class=\"nds-table-scroll\">\n<table>\n<thead>\n<tr>\n<th>Input<\/th>\n<th>Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th><code>glcm<\/code><\/th>\n<td>101<\/td>\n<\/tr>\n<tr>\n<th><code>green<\/code><\/th>\n<td>190<\/td>\n<\/tr>\n<tr>\n<th><code>red<\/code><\/th>\n<td>81<\/td>\n<\/tr>\n<tr>\n<th><code>nir<\/code><\/th>\n<td>320<\/td>\n<\/tr>\n<tr>\n<th><code>pan_band<\/code><\/th>\n<td>23<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div class=\"nds-case-result\"><span>Exported-model result<\/span><strong>Other land cover<\/strong><span>Wilt score 2.01% \u00b7 supplied label 0<\/span><\/div>\n<div class=\"nds-calculator\" id=\"nds-tree-calculator\">\n<h3>Try the exported tree-wilt classifier<\/h3>\n<p class=\"nds-calculator-boundary\"><strong>Research demonstration.<\/strong> The calculation runs locally with the exact exported weights and preprocessing. Enter only features generated with the same segmentation and image-processing definitions. Values outside the validated domain are rejected.<\/p>\n<form>\n<div class=\"nds-calculator-grid\"><label for=\"nds-tree-glcm\">GLCM Pan mean<input id=\"nds-tree-glcm\" name=\"glcm\" type=\"text\" inputmode=\"decimal\" value=\"101\" autocomplete=\"off\"><small>81.125\u2013167.944 source-image units<\/small><\/label><label for=\"nds-tree-green\">Mean green value<input id=\"nds-tree-green\" name=\"green\" type=\"text\" inputmode=\"decimal\" value=\"190\" autocomplete=\"off\"><small>117.211\u2013284.655 source-image units<\/small><\/label><label for=\"nds-tree-red\">Mean red value<input id=\"nds-tree-red\" name=\"red\" type=\"text\" inputmode=\"decimal\" value=\"81\" autocomplete=\"off\"><small>50.579\u2013189.167 source-image units<\/small><\/label><label for=\"nds-tree-nir\">Mean near-infrared value<input id=\"nds-tree-nir\" name=\"nir\" type=\"text\" inputmode=\"decimal\" value=\"320\" autocomplete=\"off\"><small>144.876\u2013910.800 source-image units<\/small><\/label><label for=\"nds-tree-pan_band\">Pan-band standard deviation<input id=\"nds-tree-pan_band\" name=\"pan_band\" type=\"text\" inputmode=\"decimal\" value=\"23\" autocomplete=\"off\"><small>5.772\u201343.524 source-image units<\/small><\/label><\/div>\n<div class=\"nds-calculator-actions\"><button type=\"submit\">Calculate wilt score<\/button><button type=\"reset\">Reset example<\/button><\/div>\n<\/form>\n<p class=\"nds-calculator-error\" role=\"alert\">\n<div class=\"nds-tree-result\" aria-live=\"polite\"><\/div>\n<\/div>\n<h3>Reproduce the calculation<\/h3>\n<p>The Python package contains the exact exported model, ordered input schema and executable example. The Neural Designer package contains the cleaned sample roles, initial and selected architectures, training settings and regenerated analyses.<\/p>\n<div class=\"nds-downloads\"><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-python-model-2026.zip\">Download Python model (ZIP)<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree-wilt-neural-designer-2026.zip\">Download Neural Designer project (ZIP)<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/08\/tree_wilt.csv\" download>Download tree_wilt.csv<\/a><\/div>\n<\/section>\n<section id=\"8-validity\" class=\"nds-card\">\n<h2>8. Validity, uncertainty and limitations<\/h2>\n<ul>\n<li><strong>Derived sampling design.<\/strong> The tutorial table keeps all 500 source testing rows but adds only the 74 positive rows from the source training file. It excludes 4,265 negative training rows, then creates a new random split. The reported metrics are therefore not an evaluation on the official UCI test protocol.<\/li>\n<li><strong>Outlier-selection boundary.<\/strong> Tukey thresholds are calculated before the model split and exclude seven negative rows. A confirmatory workflow should estimate cleaning thresholds from training data only and report sensitivity analyses with and without exclusions.<\/li>\n<li><strong>Spatial dependence is untested.<\/strong> The table has no coordinates, acquisition blocks or segment-group identifiers. Random row splitting can place nearby or related image objects in different subsets.<\/li>\n<li><strong>Image-processing contract is incomplete.<\/strong> The CSV does not package the pansharpening, segmentation, georeferencing or feature-extraction implementation needed to reproduce descriptors from raw imagery.<\/li>\n<li><strong>Transfer is untested.<\/strong> Sensor calibration, illumination, season, atmospheric correction, geography, species mix and disease stage may shift the feature distributions.<\/li>\n<li><strong>Training-curve warning.<\/strong> The initial run shows increasing selection error after its early minimum. Checkpointing at the best selection epoch and repeated grouped validation should precede any scientific conclusion.<\/li>\n<li><strong>Uncalibrated decision score.<\/strong> The sigmoid output ranks candidates but is not demonstrated to be a calibrated probability. The 0.50 threshold has not been selected from surveillance costs.<\/li>\n<li><strong>Endpoint boundary.<\/strong> A positive segment is a remote-sensing disease candidate, not laboratory confirmation of Japanese oak wilt, Japanese pine wilt or a causal organism.<\/li>\n<\/ul>\n<div class=\"nds-note nds-note--warning\"><strong>Decision boundary.<\/strong> Use the model for reproducible research and candidate prioritization. Confirm consequential forest-health decisions with independent imagery review, field inspection and appropriate diagnostic evidence.<\/div>\n<\/section>\n<section id=\"references\" class=\"nds-card\">\n<h2>References<\/h2>\n<ul>\n<li>Johnson B. <a href=\"https:\/\/doi.org\/10.24432\/C5KS4M\">Wilt [Dataset]<\/a>. UCI Machine Learning Repository; 2013. CC BY 4.0.<\/li>\n<li>Johnson BA, Tateishi R, Hoan NT. <a href=\"https:\/\/doi.org\/10.1080\/01431161.2013.810825\">A hybrid pansharpening approach and multiscale object-based image analysis for mapping diseased pine and oak trees<\/a>. <em>International Journal of Remote Sensing<\/em>. 2013;34(20):6969\u20136982.<\/li>\n<\/ul>\n<\/section>\n<\/div>\n<\/div>\n<p> <script data-noptimize=\"1\"> (() => { const root = document.getElementById(\"nds-tree-calculator\"); if (!root || root.dataset.ready === \"1\") return; root.dataset.ready = \"1\"; const config = {\"means\":[127.3690033,204.6719971,105.4260025,447.618988,20.51160049],\"scales\":[10.33170033,73.76399994,67.46420288,151.1380005,6.616590023],\"hiddenBiases\":[0.3164056838,0.2329548299,-0.9765650034,-0.2185409367],\"hiddenWeights\":[[-0.1681189388,2.254503727,-1.75878334,-0.7280038595,-0.09765556455],[-0.06613175571,1.339854002,-0.9091329575,-0.4603216648,-0.03622591123],[-0.01328346692,0.9852590561,-3.337067604,0.4788672924,0.3204509914],[0.05577608198,-1.398288965,0.9559305312,0.5405563712,0.01740925387]],\"outputBias\":-0.4489845335,\"outputWeights\":[-2.33430171,-1.339693904,-2.914571762,1.443882704],\"fields\":[{\"name\":\"glcm\",\"label\":\"GLCM Pan mean\",\"min\":81.125,\"max\":167.944444},{\"name\":\"green\",\"label\":\"Mean green value\",\"min\":117.210526,\"max\":284.655172},{\"name\":\"red\",\"label\":\"Mean red value\",\"min\":50.578947,\"max\":189.166667},{\"name\":\"nir\",\"label\":\"Mean near-infrared value\",\"min\":144.875817,\"max\":910.8},{\"name\":\"pan_band\",\"label\":\"Pan-band standard deviation\",\"min\":5.7724,\"max\":43.524131}]}; const form = root.querySelector(\"form\"); const error = root.querySelector(\".nds-calculator-error\"); const result = root.querySelector(\".nds-tree-result\"); const parseDecimal = value => { const normalized = String(value).trim().replace(\",\", \".\"); return normalized === \"\" ? NaN : Number(normalized); }; const calculate = () => { try { error.textContent = \"\"; const inputs = config.fields.map(field => { const element = form.elements[field.name]; element.classList.remove(\"is-invalid\"); const value = parseDecimal(element.value); if (!Number.isFinite(value) || value < field.min || value > field.max) { element.classList.add(\"is-invalid\"); throw new Error(`${field.label} must be between ${ field.min.toFixed(3)} and ${field.max.toFixed(3)}.`); } return value; }); const scaled = inputs.map( (value, index) => (value - config.means[index]) \/ config.scales[index] ); const hidden = config.hiddenBiases.map( (bias, row) => Math.tanh( bias + config.hiddenWeights[row].reduce( (sum, weight, column) => sum + weight * scaled[column], 0 ) ) ); const logit = config.outputBias + config.outputWeights.reduce( (sum, weight, index) => sum + weight * hidden[index], 0 ); const score = 1 \/ (1 + Math.exp(-logit)); const label = score >= 0.5 ? \"Wilt candidate\" : \"Other land cover\"; result.innerHTML = `<span>Threshold label<\/span><strong>${label}<\/strong> <span>Wilt score: ${(100 * score).toFixed(2)}%<\/span> <small>Decision threshold: 0.50. This score is not an independently calibrated probability.<\/small>`; } catch (exception) { error.textContent = exception.message; result.innerHTML = \"\"; } }; form.addEventListener(\"submit\", event => { event.preventDefault(); calculate(); }); form.addEventListener(\"reset\", () => setTimeout(calculate, 0)); calculate(); })(); <\/script><\/p>\n","protected":false},"author":13,"featured_media":1402,"template":"","categories":[29],"tags":[46],"class_list":["post-3524","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-examples","tag-environment"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Detect tree wilt with machine learning<\/title>\n<meta name=\"description\" content=\"Use machine learning to develop a classification method to detect tree wilt, conditioned on the satellite image features.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tree Wilt Detection\" \/>\n<meta property=\"og:description\" content=\"In this example we detect disease trees from satellite pictures using machine learning.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-10T06:42:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Tree Wilt Detection\" \/>\n<meta name=\"twitter:description\" content=\"In this example we detect disease trees from satellite pictures using machine learning.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/\",\"name\":\"Detect tree wilt with machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp\",\"datePublished\":\"2023-08-31T11:12:58+00:00\",\"dateModified\":\"2026-08-10T06:42:36+00:00\",\"description\":\"Use machine learning to develop a classification method to detect tree wilt, conditioned on the satellite image features.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp\",\"width\":1200,\"height\":628,\"caption\":\"Tree wilt\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.neuraldesigner.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning\",\"item\":\"https:\/\/www.neuraldesigner.com\/learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Detect tree wilt with machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explainable AI Platform\",\"publisher\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.neuraldesigner.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\",\"name\":\"Neural Designer\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"width\":1024,\"height\":223,\"caption\":\"Neural Designer\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NeuralDesigner\",\"https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Detect tree wilt with machine learning","description":"Use machine learning to develop a classification method to detect tree wilt, conditioned on the satellite image features.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/","og_locale":"en_US","og_type":"article","og_title":"Tree Wilt Detection","og_description":"In this example we detect disease trees from satellite pictures using machine learning.","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/","og_site_name":"Neural Designer","article_modified_time":"2026-08-10T06:42:36+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Tree Wilt Detection","twitter_description":"In this example we detect disease trees from satellite pictures using machine learning.","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/","name":"Detect tree wilt with machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp","datePublished":"2023-08-31T11:12:58+00:00","dateModified":"2026-08-10T06:42:36+00:00","description":"Use machine learning to develop a classification method to detect tree wilt, conditioned on the satellite image features.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/tree-wilt.webp","width":1200,"height":628,"caption":"Tree wilt"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/tree-wilt-detection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.neuraldesigner.com\/"},{"@type":"ListItem","position":2,"name":"Learning","item":"https:\/\/www.neuraldesigner.com\/learning\/"},{"@type":"ListItem","position":3,"name":"Detect tree wilt with machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explainable AI Platform","publisher":{"@id":"https:\/\/www.neuraldesigner.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.neuraldesigner.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.neuraldesigner.com\/#organization","name":"Neural Designer","url":"https:\/\/www.neuraldesigner.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","width":1024,"height":223,"caption":"Neural Designer"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NeuralDesigner","https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning"}],"about":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/types\/learning"}],"author":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/users\/13"}],"version-history":[{"count":6,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3524\/revisions"}],"predecessor-version":[{"id":23190,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3524\/revisions\/23190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/1402"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}