← Back to the catalog
Publicraw reproduciblemetadata-only

Bird NNReflectance spectra

dryad · NIR

Bird NNReflectance spectra. v2.0 standardized NIRS package: 1 spectral source(s), 0 declared target(s). Auto-generated from dataset_card.json (verify before publication).

nirv2dryad
45
samples
11,311
wavelengths
1
sources
0
targets
5
metadata
NIR
family

Dataset property explorer

Mean profile risk0.54
Highest axisArtefacts locaux · 1.00
Diagnostics8
Sources profiled1
Bird NNReflectance spectra property profile0.250.50.751integritynoiseartefactsbaselinePCA outliersreferencerepeatabilitystructureBird NNReflectance spectra profileintegrity: 0.00noise: 0.00artefacts: 1.00baseline: 1.00PCA outliers: 0.70reference: 0.86repeatability: 0.00structure: 0.79Bird NNReflecta…0 center · 1 outer ring · outward = stronger anomaly / heterogeneity signal

Profile axes

Intégrité0.00
Artefacts locaux1.00
Bruit0.00
Outliers PCA0.70
Distance à la référence0.86
Répétabilité0.00
Baseline / forme1.00
Structure multi-régimes0.79
Diagnostic hypotheses00.250.50.751hypothesis scoreSplice / raccord détecteursSplice / raccord détecteurs: 0.780.78Erreur calibration / référenc…Erreur calibration / référence blanche: 0.710.71Fond différentFond différent: 0.650.65Signature VERA25-likeSignature VERA25-like: 0.600.60Erreur interpolation / réécha…Erreur interpolation / rééchantillonnage: 0.590.59Différence de sonde / géométr…Différence de sonde / géométrie: 0.570.57Spectre hors domaine valideSpectre hors domaine valide: 0.560.56Dataset multi-régimesDataset multi-régimes: 0.500.50
DiagnosticScoreForceSignauxInterprétation probable
Splice / raccord détecteursX0.78forteSpike rate 1.00, Jump rate 1.00, SNR non dégradé 1.00Rupture aux jonctions de détecteurs, calibration locale ou sonde différente.
Erreur calibration / référence blancheX0.71moyenneBaseline/mean/area 1.00, artefacts locaux 1.00, RMS/SAM référence 0.86Décalage systématique entre campagnes, instruments ou référence blanche.
Fond différentX0.65moyenneBaseline/mean/area 1.00, RMS/SAM référence 0.86, Mahalanobis / T2 0.70Effet systématique du support, blanc/noir, transflectance ou environnement de mesure.
Signature VERA25-likeX0.60moyenneSpike rate 1.00, Jump rate 1.00, RMS/SAM référence 0.86Combinaison possible changement de sonde + splice, amplifiée par géométrie, fond ou calibration.
Erreur interpolation / rééchantillonnageX0.59moyenneSpike rate 1.00, Jump rate 1.00, SNR normal/élevé 1.00Artefacts numériques ou traitement spectral incorrect.
Différence de sonde / géométrieX0.57moyenneBaseline/mean/area 1.00, RMS/SAM référence 0.86, Mahalanobis / T2 0.70Modification de l'illumination, collecte, angle ou distance sonde-échantillon.
Spectre hors domaine valideX0.56moyenneRMS/SAM référence 0.86, Structure PCA 0.79, Mahalanobis / T2 0.70Variété, espèce, lot ou condition différente mais physiquement plausible.
Dataset multi-régimesX0.50moyenneRMS/SAM référence 0.86, Structure PCA 0.79, Mahalanobis / T2 0.70Mélange de campagnes, opérateurs, lots, setups ou sous-populations spectrales.

Spectral sources

X

X · NIR
X spectra-25025507510005,00010,00015,00020,000q05-q95 envelopeq25-q75 envelopemedian spectrummedianq25–q75q05–q95wavelength / nm300.17nm — median 3.714 (q25–q75 2.378–4.614)330.06nm — median 3.164 (q25–q75 2.085–4.987)360.07nm — median 3.864 (q25–q75 1.799–5.373)389.47nm — median 4.158 (q25–q75 1.646–5.673)418.6nm — median 4.394 (q25–q75 1.522–6.579)447.82nm — median 5.03 (q25–q75 1.3–7.412)476.39nm — median 5.694 (q25–q75 1.427–8.121)505.03nm — median 6.58 (q25–q75 1.266–8.519)533.02nm — median 7.135 (q25–q75 1.863–8.873)560.7nm — median 8.328 (q25–q75 2.384–10.38)588.39nm — median 9.48 (q25–q75 3.191–11.44)615.42nm — median 10.21 (q25–q75 3.791–12.78)642.11nm — median 10.84 (q25–q75 4.457–14.49)668.77nm — median 12.16 (q25–q75 4.389–15.41)694.75nm — median 12.54 (q25–q75 4.485–17.95)763nm — median 17.64 (q25–q75 8.305–22.62)844nm — median 22.14 (q25–q75 12.48–28.55)925nm — median 26.63 (q25–q75 17.23–35.95)1000.7nm — median 30.91 (q25–q75 21.49–41.53)1008.5nm — median 32.13 (q25–q75 22.52–42.32)1016.5nm — median 34 (q25–q75 24.15–43.86)1024.8nm — median 35.8 (q25–q75 26.38–46.14)1033nm — median 37.09 (q25–q75 27.47–46.95)1041.5nm — median 37.58 (q25–q75 28.41–47.23)1050.1nm — median 38.87 (q25–q75 29.85–48.14)1058.8nm — median 40.26 (q25–q75 31.45–49.32)1067.7nm — median 41.69 (q25–q75 33.15–50.51)1076.7nm — median 43.29 (q25–q75 34.99–52.03)1085.8nm — median 44.84 (q25–q75 36.52–53.38)1095.2nm — median 46.02 (q25–q75 37.8–54.36)1104.7nm — median 47.07 (q25–q75 38.7–55.18)1114.3nm — median 47.93 (q25–q75 39.45–56.03)1124.2nm — median 49.1 (q25–q75 40.45–56.95)1134.2nm — median 50.55 (q25–q75 41.7–58.15)1144.3nm — median 51.61 (q25–q75 42.67–58.86)1154.7nm — median 52.72 (q25–q75 43.77–59.65)1165.3nm — median 53.49 (q25–q75 45.15–60.24)1176.1nm — median 54.51 (q25–q75 46.16–60.88)1187nm — median 55.43 (q25–q75 47.28–61.59)1198.1nm — median 56.54 (q25–q75 48.61–62.47)1209.6nm — median 57.8 (q25–q75 50.09–63.46)1221.1nm — median 59.16 (q25–q75 51.46–64.44)1232.9nm — median 60.16 (q25–q75 52.89–65.41)1245nm — median 61.26 (q25–q75 54.23–66.45)1257.2nm — median 62.28 (q25–q75 55.55–67.24)1269.8nm — median 63.24 (q25–q75 56.82–67.88)1282.6nm — median 64.01 (q25–q75 58.03–68.43)1295.5nm — median 65.03 (q25–q75 58.75–69.31)1308.9nm — median 65.99 (q25–q75 59.78–70.31)1322.5nm — median 67.12 (q25–q75 61.18–71.18)1336.3nm — median 68.07 (q25–q75 62.42–71.71)1350.5nm — median 68.92 (q25–q75 63.32–72.38)1364.9nm — median 69.74 (q25–q75 64.16–73.11)1379.6nm — median 70.34 (q25–q75 64.98–73.38)1394.9nm — median 70.38 (q25–q75 64.95–73.18)1410.2nm — median 69.57 (q25–q75 64.38–71.51)1426.1nm — median 68.29 (q25–q75 64.03–70.37)1442.2nm — median 67.78 (q25–q75 64.27–70.47)1458.6nm — median 67.75 (q25–q75 64.65–70.49)1475.6nm — median 67.89 (q25–q75 64.72–70.74)1492.8nm — median 67.46 (q25–q75 64.07–70.04)1510.5nm — median 68.03 (q25–q75 64.9–70.3)1528.7nm — median 68.95 (q25–q75 66.29–71.29)1547.2nm — median 70.32 (q25–q75 67.43–72.61)1566.1nm — median 71.77 (q25–q75 68.54–74.13)1585.7nm — median 72.47 (q25–q75 69.69–75.04)1605.6nm — median 74.14 (q25–q75 71.65–76.75)1626.3nm — median 75.31 (q25–q75 72.79–78.16)1647.2nm — median 76.22 (q25–q75 73.54–78.93)1668.7nm — median 75.8 (q25–q75 72.76–78.25)1691nm — median 71.4 (q25–q75 68.73–73.77)1713.6nm — median 71.29 (q25–q75 68.73–73.74)1736.9nm — median 69.67 (q25–q75 67.55–72.32)1761nm — median 72.08 (q25–q75 69.79–74.57)1785.6nm — median 73.86 (q25–q75 71–75.98)1811.2nm — median 74.04 (q25–q75 71.35–76.26)1837.2nm — median 74.9 (q25–q75 72.22–77.34)1863.9nm — median 74.7 (q25–q75 72.12–76.94)1891.8nm — median 66.61 (q25–q75 64.08–68.71)1920.2nm — median 51.5 (q25–q75 48.25–54.54)1949.4nm — median 49.63 (q25–q75 46.71–52.59)1979.9nm — median 51.95 (q25–q75 49.05–55.26)2011nm — median 56.06 (q25–q75 52.59–58.67)2043.1nm — median 52.47 (q25–q75 49.03–54.59)2076.6nm — median 53.8 (q25–q75 50.28–55.96)2110.9nm — median 55.28 (q25–q75 52.12–57.51)2146.7nm — median 50.63 (q25–q75 46.96–52.43)2183.3nm — median 47.44 (q25–q75 44.35–49.52)2221.2nm — median 49.91 (q25–q75 46.39–52.06)2260.9nm — median 46.55 (q25–q75 43.41–48.75)2301.5nm — median 44.55 (q25–q75 41.56–46.58)2343.7nm — median 45.35 (q25–q75 42.21–47.41)2387.9nm — median 46.82 (q25–q75 43.26–48.8)2433.3nm — median 44.82 (q25–q75 41.5–47.63)2480.4nm — median 40.6 (q25–q75 37.53–43.77)2530.1nm — median 39.76 (q25–q75 36.85–42.98)2581.1nm — median 42.24 (q25–q75 39.3–46)2634.8nm — median 43.02 (q25–q75 39.91–46.98)2690.2nm — median 36.7 (q25–q75 33.15–40.6)2747.9nm — median 10.25 (q25–q75 7.849–12.22)2809nm — median 3.146 (q25–q75 2.272–3.739)2872nm — median 1.837 (q25–q75 1.45–2.268)2937.9nm — median 1.46 (q25–q75 1.192–1.68)3007.8nm — median 1.17 (q25–q75 0.9292–1.422)3080.1nm — median 1.412 (q25–q75 1.149–1.746)3157nm — median 2.062 (q25–q75 1.579–2.431)3236.8nm — median 2.35 (q25–q75 1.634–2.748)3320.8nm — median 3.245 (q25–q75 2.288–3.857)3410.3nm — median 2.394 (q25–q75 1.75–2.964)3503.6nm — median 4.394 (q25–q75 3.335–5.224)3602.2nm — median 7.273 (q25–q75 5.588–8.574)3707.8nm — median 9.629 (q25–q75 7.59–11.3)3818.4nm — median 10.91 (q25–q75 8.843–13.07)3935.8nm — median 12.67 (q25–q75 10.48–15.56)4062.2nm — median 14.31 (q25–q75 11.75–18.48)4195.3nm — median 16.92 (q25–q75 13.12–21.72)4339.2nm — median 18.6 (q25–q75 15.25–22.54)4491.5nm — median 20.25 (q25–q75 16.78–23.06)4654.7nm — median 20.48 (q25–q75 17.15–22.33)4832.6nm — median 20.61 (q25–q75 17.14–22.43)5022.2nm — median 20.73 (q25–q75 17.12–22.63)5227.2nm — median 19.69 (q25–q75 16.2–21.83)5452.6nm — median 16.97 (q25–q75 13.79–18.77)5695.1nm — median 4.633 (q25–q75 3.83–5.498)5960.2nm — median 0.3327 (q25–q75 0.186–0.3879)6255nm — median 1.464 (q25–q75 1.244–1.758)6576.3nm — median 0.8259 (q25–q75 0.5193–1.066)6937nm — median 1.863 (q25–q75 1.451–2.148)7334.3nm — median 2.373 (q25–q75 1.916–2.798)7780nm — median 2.308 (q25–q75 1.802–2.623)8290nm — median 2.724 (q25–q75 2.205–3.131)8863.9nm — median 4.137 (q25–q75 3.466–4.78)9523.2nm — median 4.257 (q25–q75 3.596–4.903)10299nm — median 7.006 (q25–q75 6.273–8.128)11200nm — median 5.941 (q25–q75 4.57–7.077)12288nm — median 4.99 (q25–q75 3.934–5.928)13592nm — median 3.241 (q25–q75 2.458–3.831)15206nm — median 2.927 (q25–q75 2.127–3.358)17285nm — median 3.542 (q25–q75 2.42–4.295)19982nm — median 1.489 (q25–q75 -2.405–5.977)

Sampling

Wavelengths11,311
Axis range300.2–1.998e+04 nm
Mean spacing1.74 nm
Gridirregular
Observations45

Signal & quality

Value range-9.38 – 87.5
Mean range0.0814 – 75.4
Mean level35.87
Area1.927e+05
PTP75.35
Noise RMS0.0011393
SNR3.1e+04
SNR dB9e+01 dB
Dynamic range75.3
Smoothness0.07969
Saturated0.0%
X-outliers14

Integrity & artefacts

NaN ratio0.00%
Inf count0
Zero ratio0.00%
Spike count58,051
Spike rate11.41%
Jump count20,665
Jump rate4.06%
Clip fraction0.00%

Shape & reference

Baseline slope-77.337
Curvature RMS0.073631
D1 RMS0.080426
RMS to mean5.452
RMS p9512.681
SAM to mean0.10264
SAM p950.21861
Affine offset p955.0016
Affine gain p95 Δ0.16861
Affine residual p957.7949
Xcorr lag p951.6

Outliers & repeatability

PCA Q p95/median2.8
Hotelling T2 p95/median5.6
Mahalanobis H p95/median2.4
Repeat groups0

Dimensionality (PCA)

Effective rank2.2
PCs → 95% var3
PCs → 99% var6
Top-10 cum. var99.9%
Computed metric scores 29worst 1.00
FamilleMétrique calculéeValeurScoreNiveauInterprétation datasetCauses typiquesCalcul / scoring
Intégrité des donnéesNaN ratiointegrity.nan_ratio0%0.00faibleSpectre completErreur acquisition/exportcount(isnan(X)) / X.sizealert = min(1, nan_ratio / 0.05)
Intégrité des donnéesInf countintegrity.inf_count00.00faibleNormalCalculs invalidescount(isinf(X))alert = min(1, inf_count / 1)
Intégrité des donnéesZero ratiointegrity.zero_ratio0.00138%0.00faibleNormalExport, saturationcount(X == 0) / count(finite X)alert = min(1, zero_ratio / 0.05)
Amplitude globaleMean reflectanceamplitude.mean_reflectance35.8661.00fortValeur atypique: Trop clair / fond visible ou Trop sombreFond, géométriemean(X finite)alert reuses baseline/shape drift because absolute reflectance ranges are technology-dependent
Amplitude globaleArea under curveamplitude.area_under_curve1.9269e+051.00fortValeur atypique: Différence d'éclairement ou NormalDistance sondetrapezoid(mean_spectrum, spectral_axis)alert reuses baseline/shape drift because area scale depends on axis and units
Amplitude globalePeak-to-peak (PTP)amplitude.peak_to_peak75.3480.00faibleVariabilité forteSaturationmax(mean_spectrum) - min(mean_spectrum)alert increases when dynamic range is abnormally flat
Amplitude globaleVarianceamplitude.variance723.720.00faibleNormal ou hétérogèneMauvais contactvar(X finite)alert increases when variance/dynamic range is abnormally flat
BruitNoise RMSnoise.noise_rms0.00113930.00faibleStableLampe, détecteurmedian MAD(second derivative) * 1.4826 / sqrt(6)alert = noise_rms / signal_scale, saturated at 5%
BruitSNRnoise.snr314840.00faibleBon signalAcquisitionmean(abs(X)) / noise_rmsalert decreases with SNR dB; >=40 dB is treated as low alert
BruitBandwise SNRnoise.bandwise_snr_min5.45780.58moyenZone problématiqueDétecteurmin(abs(mean_spectrum) / local second-derivative noise)alert decreases with worst-band SNR dB; >=35 dB is treated as low alert
Artefacts locauxSpike countartefacts.spike_count58,0511.00fortArtefactsCosmic rays, splicecount robust outliers in second derivativealert follows spike_rate, saturated at 1%
Artefacts locauxSpike rateartefacts.spike_rate11.4%1.00fortSpectre suspectInterpolationspike_count / (n_samples * (n_features - 2))alert = min(1, spike_rate / 0.01)
Artefacts locauxJump countartefacts.jump_count20,6651.00fortRaccord détecteurSplicecount robust outliers in first derivativealert follows jump_rate, saturated at 1%
Artefacts locauxJump rateartefacts.jump_rate4.06%1.00fortProblème spectralCalibrationjump_count / (n_samples * (n_features - 1))alert = min(1, jump_rate / 0.01)
Artefacts locauxClip fractionartefacts.clip_fraction0.000393%0.00faibleNormalDétecteur saturéfraction of finite cells equal to repeated min/max extremaalert = min(1, clip_fraction / 0.01)
Forme spectraleBaseline slopeshape.baseline_slope-77.3371.00fortDériveÉclairementlinear slope of mean_spectrum over normalized axisalert = abs(slope / signal_scale), saturated at 0.5
Forme spectraleCurvature RMSshape.curvature_rms0.0736310.10faibleLisseFond, splicemedian RMS(second derivative per spectrum)alert = curvature_rms / signal_scale, saturated at 1%
Forme spectraleD1 RMSshape.d1_rms0.0804260.02faiblePlatBiologie ou artefactmedian RMS(first derivative per spectrum)alert = d1_rms / signal_scale, saturated at 5%
Outliers multivariésPCA Q (SPE)outliers.pca_q_ratio2.79530.35faibleConformeArtefact, mélangep95(Q/SPE residual) / median(Q/SPE residual)alert = min(1, pca_q_ratio / 8)
Outliers multivariésHotelling T²outliers.hotelling_t2_ratio5.56260.70moyenExtrême mais cohérentVariabilité naturellep95(Hotelling T2) / median(Hotelling T2)alert = min(1, hotelling_t2_ratio / 8)
Outliers multivariésMahalanobis Houtliers.mahalanobis_h_ratio2.35850.59moyenOutlier globalDomaine différentp95(sqrt(T2)) / median(sqrt(T2))alert = min(1, mahalanobis_h_ratio / 4)
Comparaison à référenceRMS to mean spectrumreference.rms_to_mean_spectrum_p9512.6810.67moyenSpectre différentDomain shiftp95 RMS distance to dataset mean spectrumalert = RMS_p95 / signal_scale, saturated at 25%
Comparaison à référenceSpectral Angle Mapper (SAM)reference.sam_to_mean_spectrum_p950.218610.62moyenForme différenteFond, géométriep95 spectral angle to dataset mean spectrumalert = min(1, SAM_p95 / 0.35 rad)
RépétabilitéRMS intra-IDrepeatability.rms_intra_id—0.00faibleStablePositionnementmedian RMS distance to repeated-sample centroidalert = RMS_intra_ID / signal_scale, saturated at 10%
RépétabilitéSAM intra-IDrepeatability.sam_intra_id—0.00faibleStableAcquisitionmedian SAM to repeated-sample centroidalert = min(1, SAM_intra_ID / 0.15 rad)
RépétabilitéCV intra-IDrepeatability.cv_intra_id—0.00faibleStableOpérateurmedian within-ID band CValert = min(1, CV_intra_ID / 0.25)
Structure du datasetPCA score densitystructure.pca_score_density0.00347960.79fortSous-populationsLots différents1 / median kNN distance in PCA score spacealert follows density_cv/profile structure complexity, not raw density alone
Structure du datasetLocal Outlier Factor (LOF)structure.local_outlier_factor_p952.38250.69moyenSpectre isoléCas raresp95 approximate LOF from PCA-score kNN distancesalert = min(1, max(0, LOF_p95 - 1) / 2)
Structure du datasetIsolation Forest scorestructure.isolation_forest_score_p950.570230.79fortSpectre atypiqueDiverses causesp95 IsolationForest anomaly score on PCA scoresalert follows structure complexity; raw score is implementation-dependent
X PCA score plot-2,000-1,00001,0002,000-1,000-50005001,000PC1 -465.6 · PC2 -112.3PC1 -396.1 · PC2 -260.6PC1 -233.3 · PC2 -84.82PC1 505.6 · PC2 -170.2PC1 211.9 · PC2 -209.5PC1 538.6 · PC2 -87.4PC1 -198.5 · PC2 -143.5PC1 -252.2 · PC2 -252.9PC1 -275.8 · PC2 -127.3PC1 294.1 · PC2 215.5PC1 474.4 · PC2 264.1PC1 782.3 · PC2 164.7PC1 581.7 · PC2 483.1PC1 60.36 · PC2 769.8PC1 -133.3 · PC2 825.3PC1 747.4 · PC2 176.8PC1 224 · PC2 455.1PC1 517.4 · PC2 234PC1 -83.91 · PC2 -330.3PC1 47.27 · PC2 -261.2PC1 162.7 · PC2 -301.1PC1 -415.4 · PC2 295.5PC1 194.7 · PC2 -110.1PC1 117.5 · PC2 -116.5PC1 -164.3 · PC2 -224.4PC1 8.091 · PC2 -177.4PC1 379.8 · PC2 -194.8PC1 1531 · PC2 19.06PC1 637.6 · PC2 44.87PC1 446.3 · PC2 26.52PC1 278.4 · PC2 -18.21PC1 770.6 · PC2 29.88PC1 903.9 · PC2 -626.2PC1 1103 · PC2 -247.3PC1 490.3 · PC2 68.24PC1 -360 · PC2 113.4PC1 -461.8 · PC2 -0.2738PC1 -678.9 · PC2 78.16PC1 -568.8 · PC2 -79.68PC1 -1313 · PC2 161.5PC1 -1346 · PC2 63.84PC1 -684.9 · PC2 -153PC1 -1151 · PC2 -13.71PC1 -988.3 · PC2 -217.3PC1 -1837 · PC2 30.66PC1 (78.5%)PC2 (12.6%)45 scores
PCA explained variance0%25%50%75%100%PC1: 78.5% (cumulative 78.5%)1PC2: 12.6% (cumulative 91.1%)2PC3: 5.4% (cumulative 96.5%)3PC4: 1.5% (cumulative 98.0%)4PC5: 0.7% (cumulative 98.7%)5PC6: 0.5% (cumulative 99.2%)6PC7: 0.3% (cumulative 99.5%)7PC8: 0.2% (cumulative 99.7%)8PC9: 0.1% (cumulative 99.8%)9PC10: 0.1% (cumulative 99.9%)10cumulative explained variancePC variancecumulativeprincipal component · cumulative (dashed)

Metric interpretation reference

Metric catalog 29
FamilleMétriqueCe qu’elle détecteForte valeur =Faible valeur =Causes typiquesCalcul / score
Intégrité des donnéesNaN ratioDonnées manquantesSpectre corrompuSpectre completErreur acquisition/exportcount(isnan(X)) / X.sizealert = min(1, nan_ratio / 0.05)
Intégrité des donnéesInf countValeurs infiniesCorruptionNormalCalculs invalidescount(isinf(X))alert = min(1, inf_count / 1)
Intégrité des donnéesZero ratioColonnes ou cellules nullesSpectre tronquéNormalExport, saturationcount(X == 0) / count(finite X)alert = min(1, zero_ratio / 0.05)
Amplitude globaleMean reflectanceNiveau moyenTrop clair / fond visibleTrop sombreFond, géométriemean(X finite)alert reuses baseline/shape drift because absolute reflectance ranges are technology-dependent
Amplitude globaleArea under curveIntensité globaleDifférence d'éclairementNormalDistance sondetrapezoid(mean_spectrum, spectral_axis)alert reuses baseline/shape drift because area scale depends on axis and units
Amplitude globalePeak-to-peak (PTP)DynamiqueVariabilité forteSpectre platSaturationmax(mean_spectrum) - min(mean_spectrum)alert increases when dynamic range is abnormally flat
Amplitude globaleVarianceVariabilité spectraleNormal ou hétérogèneSpectre platMauvais contactvar(X finite)alert increases when variance/dynamic range is abnormally flat
BruitNoise RMSBruit haute fréquenceBruitéStableLampe, détecteurmedian MAD(second derivative) * 1.4826 / sqrt(6)alert = noise_rms / signal_scale, saturated at 5%
BruitSNRQualité signalBon signalMauvais signalAcquisitionmean(abs(X)) / noise_rmsalert decreases with SNR dB; >=40 dB is treated as low alert
BruitBandwise SNRBruit localiséZone fiableZone problématiqueDétecteurmin(abs(mean_spectrum) / local second-derivative noise)alert decreases with worst-band SNR dB; >=35 dB is treated as low alert
Artefacts locauxSpike countPics étroitsArtefactsSpectre propreCosmic rays, splicecount robust outliers in second derivativealert follows spike_rate, saturated at 1%
Artefacts locauxSpike rateDensité de picsSpectre suspectNormalInterpolationspike_count / (n_samples * (n_features - 2))alert = min(1, spike_rate / 0.01)
Artefacts locauxJump countDiscontinuitésRaccord détecteurContinuSplicecount robust outliers in first derivativealert follows jump_rate, saturated at 1%
Artefacts locauxJump rateFréquence de sautsProblème spectralNormalCalibrationjump_count / (n_samples * (n_features - 1))alert = min(1, jump_rate / 0.01)
Artefacts locauxClip fractionSaturationClippingNormalDétecteur saturéfraction of finite cells equal to repeated min/max extremaalert = min(1, clip_fraction / 0.01)
Forme spectraleBaseline slopePente globaleDériveStableÉclairementlinear slope of mean_spectrum over normalized axisalert = abs(slope / signal_scale), saturated at 0.5
Forme spectraleCurvature RMSCourbureForme inhabituelleLisseFond, splicemedian RMS(second derivative per spectrum)alert = curvature_rms / signal_scale, saturated at 1%
Forme spectraleD1 RMSVariabilité localeSpectre structuréPlatBiologie ou artefactmedian RMS(first derivative per spectrum)alert = d1_rms / signal_scale, saturated at 5%
Outliers multivariésPCA Q (SPE)Non expliqué par PCASpectre atypiqueConformeArtefact, mélangep95(Q/SPE residual) / median(Q/SPE residual)alert = min(1, pca_q_ratio / 8)
Outliers multivariésHotelling T²Extrême dans PCAExtrême mais cohérentCentralVariabilité naturellep95(Hotelling T2) / median(Hotelling T2)alert = min(1, hotelling_t2_ratio / 8)
Outliers multivariésMahalanobis HDistance au nuageOutlier globalPopulation normaleDomaine différentp95(sqrt(T2)) / median(sqrt(T2))alert = min(1, mahalanobis_h_ratio / 4)
Comparaison à référenceRMS to mean spectrumDistance moyenneSpectre différentTypiqueDomain shiftp95 RMS distance to dataset mean spectrumalert = RMS_p95 / signal_scale, saturated at 25%
Comparaison à référenceSpectral Angle Mapper (SAM)Différence de formeForme différenteSimilaireFond, géométriep95 spectral angle to dataset mean spectrumalert = min(1, SAM_p95 / 0.35 rad)
RépétabilitéRMS intra-IDReproductibilitéMauvaise répétabilitéStablePositionnementmedian RMS distance to repeated-sample centroidalert = RMS_intra_ID / signal_scale, saturated at 10%
RépétabilitéSAM intra-IDVariation de formeInstableStableAcquisitionmedian SAM to repeated-sample centroidalert = min(1, SAM_intra_ID / 0.15 rad)
RépétabilitéCV intra-IDVariabilité interneMauvais contrôleStableOpérateurmedian within-ID band CValert = min(1, CV_intra_ID / 0.25)
Structure du datasetPCA score densityClustersSous-populationsHomogèneLots différents1 / median kNN distance in PCA score spacealert follows density_cv/profile structure complexity, not raw density alone
Structure du datasetLocal Outlier Factor (LOF)Anomalie localeSpectre isoléPopulation normaleCas raresp95 approximate LOF from PCA-score kNN distancesalert = min(1, max(0, LOF_p95 - 1) / 2)
Structure du datasetIsolation Forest scoreAnomalie globaleSpectre atypiqueNormalDiverses causesp95 IsolationForest anomaly score on PCA scoresalert follows structure complexity; raw score is implementation-dependent
Technology-specific extensions
TechnologieAdaptations / métriquesAnomalies cibléesCommentaire pratique
UV-Vis 300-1000 nmBaseline, pente globale, dérive aux bords 300-350 et 900-1000; métriques par zonesLumière parasite, mauvais blanc, saturation, faible signal aux extrémitésLes bords sont souvent instables; calculer aussi des scores edge/middle.
UV-Vis 300-1000 nmSaturation / clipping proche absorbance max ou réflectance maxSignal écrêtéTrès important si absorption forte.
UV-Vis 300-1000 nmRed-edge, position de maximum, ratios de bandes si végétalDécalage biologique ou artefact optiqueAide à distinguer changement réel et problème d'acquisition.
UV-Vis 300-1000 nmSmoothness / roughness indexBruit haute fréquenceSouvent plus informatif que le SNR seul.
MIR / ATR-FTIRATR contact quality index: intensité globale, aire totale, profondeur des bandes clésMauvais contact cristal-échantillonCrucial: beaucoup d'anomalies viennent du contact ATR.
MIR / ATR-FTIRCO2 / H2O atmospheric bandsMauvaise correction atmosphériquePics parasites fréquents.
MIR / ATR-FTIRBaseline curvature / rubber-band residualDiffusion, contact, dérive baselineTrès utile avant PCA.
MIR / ATR-FTIRPeak position shiftMauvais alignement spectral / calibrationImportant en FTIR car de petits shifts comptent.
MIR / ATR-FTIRBand area ratios sur bandes connuesSpectre chimiquement incohérentÀ adapter par matrice: polysaccharides, protéines, lipides, etc.
HS-MSTotal Ion Current (TIC), Base Peak Intensity (BPI)Injection faible, ionisation instableÉquivalent MS du niveau global spectral.
HS-MSNombre de pics détectésSpectre pauvre ou trop bruitéTrop peu = mauvais signal; trop = bruit/contamination.
HS-MSMass accuracy / m/z driftProblème calibration masseFondamental en HRMS.
HS-MSRetention time drift si LC/GC-MSDérive chromatographiqueÀ suivre sur standards/QC pools.
HS-MSBlank contamination scoreContaminants / carry-overComparer échantillons vs blancs.
HS-MSInternal standard CVVariabilité instrumentaleTrès robuste si standards disponibles.
HS-MSMissingness par featureInstabilité de détectionCrucial pour filtrer les variables.
Avec répétitionsRMS intra-échantillonRépétabilité globaleApplicable à toutes les technologies.
Avec répétitionsSAM / corrélation intra-échantillonRépétabilité de formeTrès utile pour spectres.
Avec répétitionsCV intra-échantillon par bande / featureRépétabilité localeDétecte les zones instables.
Avec répétitionsICC ou variance componentsPart variance échantillon vs techniqueTrès utile si plusieurs répétitions par sample.
Avec répétitionsDistance au centroïde intra-IDRépétition aberrantePermet de flagger la mauvaise répétition plutôt que le sample entier.
Bug-hunting / supervised audits
Famille de bug potentielMéthodes à ajouterCe que ça détecteÉtat dans l’explorateur
Shift spectral globalCorrélation spectre moyen inter-dataset, DTW, cross-correlation, comparaison positions de picsDécalage en longueur d'onde, mauvais alignement, interpolation différentePartiellement calculé: cross-correlation lag et dispersion des positions de pics vs spectre moyen.
Baseline / offset / gainRégression chaque spectre vs spectre moyen: x = a + b ref + residual; suivi de a, b, RMS résiduelOffset additif, effet multiplicatif, dérive de baselineCalculé dans reference.affine_*.
Mélange de lignes / mauvais appariement X-M-YVérification index, hash des lignes, duplication ID, distance spectrale intra-ID, labels incohérentsLignes mélangées, metadata mal alignées, Y attribué au mauvais spectrePartiellement couvert par répétabilité intra-ID; checks index/hash à ajouter au pipeline canonical.
Fuite d'information / répétitions mal splitéesGroupKFold par sample_id vs StratifiedKFold random; audit des partitions par sample_idPerformance artificiellement bonne due aux répétitionsNécessite splits et benchmark modèle; non calculé par la carte descriptive.
Label bugsÉchantillons proches en X mais Y différents, confident learning, erreurs systématiques FP/FNY inversés, erreurs de saisie, classes ambiguësNécessite Y et/ou modèle; recommandé pour l'explorateur supervisé.
Sous-domaines cachésPCA/UMAP/t-SNE + clustering non supervisé + association avec dataset/Y/date/operatorLots, campagnes, sondes, backgrounds non renseignésPartiellement calculé par structure PCA/LOF; UMAP/t-SNE hors carte statique.
Artefacts localisés inconnusCarte wavelength x dataset: différence moyenne, différence variance, KS par longueur d'ondeRégions spectrales anormales non anticipéesÀ calculer au niveau banque quand plusieurs datasets partagent un axe spectral.
Ruptures instrumentalesDiscontinuités dans dérivées, changepoint detectionSplice, raccord détecteur, saut local non prévuCalculé par jump/spike rates; changepoint plus avancé à ajouter.
Mélange / contamination spectraleNMF / unmixing / reconstruction par convex hullComposante externe: fond, plastique, solNon calculé automatiquement; nécessite hypothèses de composants ou grande bibliothèque.
Features instables mais prédictivesImportance modèle vs instabilité QC par variableModèle qui apprend un artefact plutôt qu'un signal biologiqueNécessite modèle supervisé; recommandé pour rapports de benchmark.

Variables

Constant metadata 5
  • manual_downloadTrue
  • manual_download_source_dirD:\VS projects\nirs_db_vf\manual_download\bird
  • manual_download_fileFinal.BirdData.xlsx::NNReflectance
  • official_source_urlhttps://datadryad.org/dataset/doi:10.5061/dryad.fxpnvx13b
  • standardization_batchv0.8.57

Alignment

Alignment levelsample
Sample id availableno
Samples45
Observations (total)45
Reps per samplemin 1 · mean 1 · max 1

Provenance & citation

ContributorDRYAD bird
Origin · url [open]10.5061/dryad.fxpnvx13b — Dryad
Origin · script [manual]source_to_standard.py — standardization script (maintainer-only)

Governance & integrity

Tierpublic
LicenseCC0-1.0
Permitted useResearch and benchmarking.
Access policyOpen per source license.
RedistributionDryad source recorded as CC0-1.0 in blocked inventory; manual download retained as provenance.
Content version1.0.0
Schema / protocol2.0
Content hash09fa5efbe5938630…
Processing hash645a5c9c4a188e1e…
Metadata hashac4857294f9e51f2…

Load this dataset

# pip install nirs4all-datasets
from nirs4all_datasets import get

ds = get("dryad_bird_nn_reflectance_manual")            # DOI-pinned, checksum-verified, cached
X, y = ds.x(), ds.y()
print(X.shape, y.shape)
card.jsoncroissant.jsonIdentity metadata only — the dataset bytes live at the origin / DOI.