Support HIROXNIR layers replaced tech

This commit is contained in:
2026-07-10 11:26:52 +02:00
parent 0871c8595a
commit 7957831878
3 changed files with 33 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
export const authors = {
DAN: 'Danilo P. Pavone',
AUR: 'Aurélie Tournié',
DAN: 'Danilo P. Pavone',
IRE: 'Irene Gasperini',
SAB: 'Sabrina Samelo',
SOF: 'Sofia Ceccarelli',
};
@@ -14,6 +15,7 @@ export const TECH_NAMES = {
uvf: "Technical Photography UVF",
mbi: "Multispectral Imaging",
hiroxnir: "HIROX NIR",
hiroxnir_layers_replaced: "HIROX NIR layers replaced",
splitview: "Split view VISr/NIR",
};
@@ -21,5 +23,6 @@ export const COPYRIGHT = {
dn: "Ministero della Cultura (Biblioteca Nazionale 'Vittorio Emanuele III' di Napoli)",
do: "The Bodleian Libraries, University of Oxford",
nir: "CNR - Consiglio Nazionale delle Ricerche, Ministero della Cultura (Biblioteca Nazionale 'Vittorio Emanuele III' di Napoli)",
hiroxnir_layers_replaced: "CNR - Consiglio Nazionale delle Ricerche, Ministero della Cultura (Biblioteca Nazionale 'Vittorio Emanuele III' di Napoli)",
visr: "CNR - Consiglio Nazionale delle Ricerche, Ministero della Cultura (Biblioteca Nazionale 'Vittorio Emanuele III' di Napoli)",
};

View File

@@ -30,6 +30,7 @@ import { authors, COPYRIGHT } from '../constants.js';
export const namePos = {
hiroxnir: 1,
hiroxnir_layers_replaced: 1,
nir: 1,
visr: 1,
hsi: 1,
@@ -72,6 +73,19 @@ function parseHIROXNIRFilename(imgFilename) {
date: parts[0].match(/\d{4}/)[0],
}
}
/**
* @param {string} imgFilename
* @returns {ParsedMetadata}
*/
function parseHIROXNIRLayersReplacedFilename(imgFilename) {
const prefix = imgFilename.split('_')[0];
const parts = prefix.split('-');
return {
papyrus: parts[1],
imageAuthor: authors[parts[0].replace(/\d{4}/,'')],
date: parts[0].match(/\d{4}/)[0],
}
}
/**
* @param {string} imgFilename
* @returns {ParsedMetadata}
@@ -122,6 +136,18 @@ function splitHIROXNIR(filename) {
return {baseFolder, subfolder};
}
/**
* @param {string} filename The image filename
* @returns {ImgFolderNames}
*/
function splitHIROXNIRLayersReplaced(filename) {
let splitFilename = filename.split('_');
const papyrusNum = splitFilename[0].split('-')[1];
const baseFolder = `PHerc_${papyrusNum}`;
const subfolder = `PHerc_${papyrusNum}_HIROXNIR_LAYERS_REPLACED`;
return {baseFolder, subfolder};
}
/**
* @param {string} filename The image filename
* @returns {ImgFolderNames}
@@ -162,6 +188,7 @@ function splitDNO(filename) {
const splitters = {
hiroxnir: splitHIROXNIR,
hiroxnir_layers_replaced: splitHIROXNIRLayersReplaced,
nir: splitNIR,
visr: splitNIR,
dn: splitDNO,
@@ -176,6 +203,7 @@ const extractors = {
hsi: parseNIRFilename,
visr: parseNIRFilename,
hiroxnir: parseHIROXNIRFilename,
hiroxnir_layers_replaced: parseHIROXNIRFilename,
}
/**
* Return metadata object from parsed

View File

@@ -48,6 +48,7 @@ export async function getParamsFromFolders () {
`${process.env.IMAGES_DIR}/${p}/${tech}`
);
files = files.filter(file => /(tiff?|jpe?g|jp2|bmp)/.test(file));
if (files.length) {
techniques.push(tech.replace(/PHerc_\d+_/i, ''));
}