Bibliotek

Katalogiser hver disk, finn samme bilde uansett hvor det ligger, og vit om sletting av en kopi mister noe.

På denne siden
1:11
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.

Hver fotograf med mer enn noen få års arbeid har det samme bildet fire steder: kortimporten, mappen noen kopierte til en backupdisk, DNG-en et konverteringsprogram laget av det, og JPEG-en som gikk til en kunde. Biblioteket katalogiserer hvert bilde på hver disk du peker det mot: du blar i alt på ett sted, også når en disk ligger i en skuff, og det forteller deg hvilke av filene som er samme bilde — og, for hver av dem, om sletting ville mistet noe.

Library-visningen#

0:10
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.
Library-visningen: hvert bilde på hver disk, etter disk og mappe, dato, album, nøkkelord, person, sted, kamera og objektiv. Året som er valgt til venstre, er det griden ved siden av arbeider på.
Library-visningen: hvert bilde på hver disk, etter disk og mappe, dato, album, nøkkelord, person, sted, kamera og objektiv. Året som er valgt til venstre, er det griden ved siden av arbeider på.

Åpne den med Cmd+Shift+L, View → Library eller visningsmenyen i infolinjen. Panelet til venstre lister hva biblioteket har, hver med hvor mange bilder:

  • All Pictures
  • Sources — hver disk eller mappe, med ledig plass, eller når den sist ble sett hvis den ikke er tilkoblet; åpne en for å se mappene
  • Dates — år, så måneder, så dager, i din egen tidssone; Undated for bilder uten opptakstidspunkt
  • Collections — albumene og de lagrede søkene dine
  • Published — albumene som holdes på et arrangement eller i en mappe, og hvordan det går med hvert av dem; se Publisere album
  • Keywords, People, Places, Cameras og Lenses

Det du velger, åpnes i rutenettet ved siden av, som det vinduet jobber med: gi stjerner, flagg, fremkall, eksporter og publiser akkurat som i en mappe, og hver endring havner i bildets egen mappe. Et bilde på en disk som ikke er tilkoblet, vises fra bibliotekets lagrede forhåndsvisning, og en handling som trenger fila, sier hvilken disk du må koble til.

Feltet over rutenettet søker i det som er valgt — ord i bildetekster, titler, nøkkelord, personer, steder, kameraer, objektiver og filnavn. Menyen ved siden av sorterer etter opptakstid, navn, vurdering, når bildet ble lagt til eller når det sist ble redigert; et album åpnes i sin egen rekkefølge. Save Search… tar vare på det som er valgt og søkt, som et lagret søk under Collections.

Et tomt bibliotek tilbyr Add a Disk or Folder…, og Import Lightroom Catalog… når det finnes en i ~/Pictures/Lightroom.

Over API-et velger, søker og sorterer POST /api/library/view, og åpner visningen; GET /api/library/browse gir det panelet lister.

Søk etter det som er i bildet#

Søkefeltet finner også bilder etter det som er i dem, med vanlige ord og på ditt eget språk — en hegre i regnet, a bird on a branch, premieutdeling — uten at noen har skrevet nøkkelord. Search by Content… ved siden av feltet laster ned innholdsmodellen én gang (omtrent 230 MB). Deretter leser biblioteket bildene sine i bakgrunnen, fra forhåndsvisningene det alt har, de nyeste først og med pause hver gang du culler. Linja sier hvor langt det har kommet, og et søk finner bildene som er lest så langt.

Menyen ved siden av feltet velger hva det søker i: Words and Content (ordene som står i filene først, så bildene nærmest det du skrev), Words eller Content. Et søk etter innhold vises med det nærmeste først, som Best Match.

Høyreklikk et bilde og velg Find Similar in Library for å se bildene som ligner, fra alle diskene i biblioteket, det nærmeste først.

Modellen leser engelsk, norsk bokmål, svensk, tysk, finsk, fransk, spansk og over førti andre språk; nynorsk forstås som bokmål. Det er OpenAIs CLIP for bildene og en flerspråklig tekstmodell trent til å treffe den, og begge kjører på denne maskinen: ingen bilder forlater den. I API-et: content og similar_to i POST /api/catalog/search og lagrede søk, search_by i POST /api/library/view, og GET /api/library/content for hvor langt den har lest (SDK: client.library.content()).

Album, smarte samlinger og sett#

0:11
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.
Et nytt lagret søk: hver regel et bilde må oppfylle, og hvor mange bilder i biblioteket som oppfyller dem mens du redigerer.
Et nytt lagret søk: hver regel et bilde må oppfylle, og hvor mange bilder i biblioteket som oppfyller dem mens du redigerer.

Collections i panelet til Library-visningen har albumene dine (bilder du har satt sammen for hånd, fra hvilken som helst mappe og disk) og smarte samlinger (lagrede søk, som finner bildene sine hver gang), i samlingssett som kan ha sett i seg. Hver viser hvor mange bilder den har; tallet for en smart samling er det den finner nå.

  • + New lager et album, en smart samling eller et sett. Høyreklikk et sett for å lage en inni det; dra en samling eller et sett til et annet sett for å flytte det dit, eller til det tomme feltet under for å flytte det øverst.
  • Høyreklikk en samling for å gi den nytt navn, duplisere eller slette den, redigere en smart samling, eller gjøre et album til målalbumet.
  • Legg bilder i et album ved å dra dem fra rutenettet til det, med Add to Album i bildets meny (med New Album…), eller med Shift+B, som legger de valgte bildene — eller det på skjermen — i målalbumet, og tar dem ut når alle allerede er der. Infolinjen viser målalbumet og antallet; klikk på det for å velge et annet. Uten mål gjør Shift+B Quick Collection til målet. I et album tar Remove from "…" i bildets meny bilder ut.
  • Et bilde i målalbumet har et bokmerke i rutenettet, filmstripen og Survey, og albumets navn på bildet i Develop og fullskjerm, uansett hvilken mappe som er åpen. I filtermenyen viser Album … bare bildene i det (I det) eller bare dem som ikke er i det (Ikke i det). Med Ikke i det på tar Shift+B et bilde ut av visningen i det øyeblikket det legges inn, så en runde over et kort bare viser det som gjenstår å plukke. En RAW fra kortet regnes som i albumet når albumet har samme opptak i en annen fil — DxO-DNG-en en direktelevering sendte ut — kjent på kameraet og øyeblikket det ble tatt, ned til brøkdelen av et sekund. En fil uten den brøkdelen (et eldre kamera, et skjermbilde) er bare i albumet som seg selv. Legger du en slik RAW i albumet, holdes den utenfor, og du får vite hvilken fil som er der, så bildet aldri går ut to ganger. Bytt ut … i «…» i bildets meny setter den i den filas sted i stedet: den går ut over det publiserte bildet, som beholder plassen sin og kjøpernes lenker. Et bilde noen har kjøpt, byttes aldri ut. En workflows Add to Album holder en fil nummer to av samme opptak utenfor på samme måte, som JPEG-en fra et kamera som sender både JPEG og RAW.
  • Redigeringen av en smart samling lister reglene: ord, nøkkelord, personer, steder, bildetekster, kamera, objektiv, vurdering, flagg, etikett, filtype, redigert, publisert, når bildet ble tatt (på en dato, eller de siste så mange dagene), endret de siste så mange dagene, har nøkkelord, har bildetekst, skarphet, mappe, album og disk. Samlingen treffer alle eller noen av dem, og + Group legger til en gruppe med alle eller noen av sine egne — «tre stjerner eller mer, og nøkkelordet stafett eller svømming». Den teller hva den finner mens du redigerer. Save as Smart Collection… i filterkolonnene lagrer det vinduet viser, som én.

Et album holder bildene sine etter plassen deres i biblioteket, så et bilde som er flyttet i Finder, er fortsatt der etter neste skanning. Et bilde som flyttes til papirkurven, forlater albumene sine, og appen sier hvilke. Sidepanelets Info lister albumene og de smarte samlingene bildet på skjermen er i. Deliver → Deliver Event Folder… kan kjøre arbeidsflyten sin over bildene i et album eller en smart samling i stedet for en mappe.

Over API-et lister, lager, endrer og sletter /api/library/collections samlinger, legger bilder i et album eller tar dem ut, og setter målalbumet; /api/library/collection-sets gjør det samme for sett.

Disker som ikke er tilkoblet#

Bilder på en disk som ikke er koblet til, finnes fortsatt av hvert søk, filter, hver samling og hvert opptak, og vises fra bibliotekets lagrede forhåndsvisning med diskens navn på. Infolinjen og sidepanelet sier hvor de er — «On Archive-3 (not connected, last scanned 12 March 2026)» — og OFFLINE i filterlinjen tar dem ut av vinduet, eller viser dem igjen.

Mappetreet: favorittene øverst, mappene som er åpnet nylig under dem, og hver disk med antall bilder i hver mappe.
Mappetreet: favorittene øverst, mappene som er åpnet nylig under dem, og hver disk med antall bilder i hver mappe.

Det som kan gjøres uten fila, blir gjort: stjerner, flagg, etikett, nøkkelord, bildeteksten og de andre IPTC-feltene, og album endres i biblioteket med en gang, og skrives til bildene når disken kobles til — infolinjen sier hvor mange endringer som venter. Bare det som er endret, skrives: et felt biblioteket ikke kjenner, blir stående slik fila har det. Det som trenger fila, sier fra: fremkalling, beskjæring, rotering og eksport svarer «Connect Archive-3 to …». Når disken er tilbake, åpnes bildet på skjermen av seg selv.

Over API-et står connected på hver fil bibliotekets ruter gir, og GET /api/library/pending-writes lister det som venter; hide_offline i POST /api/filter tar de bildene ut.

Bilder på bare én disk#

Disker er billige; tapte bilder er det ikke. Når diskene dine er skannet, vet biblioteket hvilke bilder som bare finnes på én fysisk disk. En kopi teller når den er samme fil, eller samme bilde med andre metadata (en DNG med ny XMP i), eller samme sensordata; en eksportert JPEG er et annet bilde, ikke en kopi. To partisjoner på én disk er én disk, og en disk som ikke er tilkoblet, teller fortsatt.

To Do → Not backed up åpner de bildene, Sources-listen sier hvor mange på hver disk som er only here, og kortet til et opptak sier hvor mange av bildene som bare ligger på én disk. Back Up to… under To Do kopierer dem alle til en mappe på en annen disk, til <mappe>/<disk>/<stien deres på den> med sidefilene, sjekker hver kopi mot originalen og skanner mappen, så tallet går ned. Bilder på en disk som ikke er tilkoblet, venter til den er det. Høyreklikk en disk under Sources, eller et opptak, for å ta sikkerhetskopi av bare bildene der. Et bilde som ligger på én disk i flere mapper, kopieres én gang.

Over API-et: GET /api/library/backup-coverage, POST /api/library/backup-copy ({"scope": {"kind": "all"}, "dest": "/Volumes/Backup"}, eller for en kilde eller et opptak), og unbacked på hvert opptak.

Opptak#

0:12
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.
Opptak: biblioteket som en tidslinje, hvert opptak et kort med navn, datoer, hvor langt det har kommet, og det beste bildet.
Opptak: biblioteket som en tidslinje, hvert opptak et kort med navn, datoer, hvor langt det har kommet, og det beste bildet.

Shoots i panelet til Library-visningen viser år med bilder slik du husker dem: «målgangen i Kystjegerløpet», «bryllupet til Kari», «Lofoten i mars». Et opptak finnes ut fra når bildene ble tatt, alle kameraene sammen: et opphold på mer enn en time, eller en flytting på mer enn 25 km mellom to bilder med posisjon, starter et nytt (begge kan endres over API-et, PUT /api/library/shoots/rules). Tidslinjen går bakover år for år med et kort per opptak: forsidebildet, navnet, datoene, stedet, hvor mange bilder og hvilke kamerahus. Klikk et kort for å se bildene.

  • Et opptak får navn etter et album som har de fleste bildene (ett publisert på eventphotos, eller utvalget til en levering), ellers mappen som har minst halvparten av bildene, ellers stedet det meste ligger, ellers datoene.
  • Høyreklikk et kort for å gi det nytt navn (Rename) eller slå det sammen med opptaket før (Merge with the Shoot Before). På et bilde deler Shoot → Start a New Shoot Here opptaket ved det bildet, og Use as Shoot Cover gjør det til forsidebilde; ellers er forsidebildet det med høyest vurdering, så et plukk, så det skarpeste. Det du endrer, blir stående når biblioteket skannes på nytt.
  • Filterets Shoot-kolonne og regelen In the shoot for smarte samlinger velger bilder etter opptak.

Over API-et: GET /api/library/shoots, POST /api/library/shoots/edit (gi nytt navn, slå sammen med opptaket før, del ved et bilde, forsidebilde) og PUT /api/library/shoots/rules (timene og kilometrene); åpne et opptak med POST /api/library/view og valget {"kind": "shoot", "at": <startMs>}.

Hva som gjenstår#

Det som gjenstår: bildene som ikke er gått gjennom, de valgte som ikke er fremkalt, og det som er redigert men ikke levert.
Det som gjenstår: bildene som ikke er gått gjennom, de valgte som ikke er fremkalt, og det som er redigert men ikke levert.

Hvert kort sier hvor langt opptaket har kommet, ut fra det biblioteket vet (ingen fil leses): Not culled (ingen bilder har stjerner, flagg eller etikett), Culled (merket, ingenting redigert; Picks to develop når plukkene ikke er fremkalt), Edited, not delivered eller Delivered (et bilde eksportert, lastet opp eller publisert på eventphotos eller i avisa). Filterets Shoot Status-kolonne velger bilder etter dette.

To Do i panelet lister opptakene som ikke er valgt ut, plukkene som ikke er fremkalt, og de redigerte bildene som ikke er levert, med antall; klikk ett for å se de bildene. Høyreklikk et kort for Mark Done — av listene, uten å endre et bilde — og bruk Mark Year Done på et år for å ta et arkiv som ble ferdig for lenge siden, av listene på én gang.

Over API-et: GET /api/library/todo, statusen i GET /api/library/shoots, done og done_between i POST /api/library/shoots/edit, og valget {"kind": "todo", "list": "not_culled"} (eller picks_not_developed, edited_not_delivered).

Nøkkelord#

0:13
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.

Keywords i panelet til Library-visningen lister hvert nøkkelord bildene dine har, på hver disk, som et tre med hvor mange bilder som har hvert — hierarkiet er det Lightroom skriver (Places|Norway|Stavanger), så en nøkkelordliste laget der, ser lik ut her. Nøkkelord i listen som ingen bilder har ennå, er grå. Klikk et for å se hvert bilde med det eller med et nøkkelord under det.

  • Høyreklikk et nøkkelord for å gi det nytt navn (Rename), slå det sammen med et annet (Merge Into), flytte det øverst (Move to the Top), gi det synonymer (Synonyms), holde det utenfor eksporterte filer (Include on Export), male med det (Paint with It) eller slette det (Delete). Dra et nøkkelord til et annet for å legge det under.
  • Et nytt navn, en sammenslåing, en flytting eller en sletting skrives inn i hvert bilde som har nøkkelordet, i sidefilen eller i fila, med resten av metadataene som de var, og linjen under overskriften sier hvor langt det har kommet. Undo legger nøkkelordene til hvert bilde tilbake slik de var. Bilder på en disk som ikke er tilkoblet, skrives når disken er tilbake; panelet sier hvor mange som venter.
  • Et søk etter et synonym finner bildene til nøkkelordet, og en eksportert fil har med synonymene. Et nøkkelord som ikke er med i eksport, blir i dine egne filer og holdes utenfor de eksporterte.
  • + New legger et nøkkelord til listen, og importerer eller eksporterer listen i Lightrooms tekstformat (Metadata → Export Keywords og Import Keywords i Lightroom): ett nøkkelord per linje, én tabulator dypere per nivå, {synonym} og [not exported].
  • Paint with It gjør nøkkelordet til penselnøkkelordet: Shift+K eller Metadata → Paint Keyword setter det på de valgte bildene — eller det på skjermen — og tar det bort når alle har det. Infolinjen viser det; klikk på det der for å slutte å male.

Over API-et gir /api/library/keywords treet med antall, og rutene der gir nytt navn til, slår sammen, flytter og sletter et nøkkelord, angrer, setter synonymer, leser og skriver listen i Lightrooms format, og setter og maler med penselnøkkelordet (client.library.keywords(), renameKeyword() og resten).

Disker og duplikater#

0:15
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.
Disks & Duplicates, etter et skann av ett mappetre. Hver gruppe er ett bilde og hver kopi av det som ble funnet — og relasjonen sier hva slags kopi hver er, så du vet om det å slette den mister noe.
Disks & Duplicates, etter et skann av ett mappetre. Hver gruppe er ett bilde og hver kopi av det som ble funnet — og relasjonen sier hva slags kopi hver er, så du vet om det å slette den mister noe.

Disks & Duplicates nederst i panelet, eller Library → Disks & Duplicates, har verktøyene for kopier og disker.

Legge til en disk#

Disker: hver kilde i biblioteket, tilkoblet eller ikke, med det som er katalogisert på den og mappene den skal hoppe over.
Disker: hver kilde i biblioteket, tilkoblet eller ikke, med det som er katalogisert på den og mappene den skal hoppe over.

På fanen Disks trykker du Add folder or disk… og velger en mappe eller roten på en disk. Det er en kilde. Tilkoblede disker som ennå ikke er kilder, listes under «Connected, not in the library», med en Add-knapp hver.

En kilde kjennes igjen på diskens volum-UUID og ikke på stien, så en disk som monteres et annet sted neste måned, er fortsatt den samme kilden, med alt som alt er skannet der, i behold.

Kilder kan ikke overlappe. Er /Volumes/Archive en kilde, kan ikke /Volumes/Archive/2019 også være det — den samme fila under to kilder ville blitt funnet som et duplikat av seg selv. Fjern den første hvis du vil ha den andre.

For å holde en mappe utenfor skriver du stien relativt til roten av kilden i «folder to skip» og trykker Skip folder. Å hoppe over sletter med en gang det som alt er katalogisert under den, og sier hvor mange filer det var. Å oppheve det henter dem ikke tilbake; mappen gås gjennom igjen ved neste skanning.

Noen steder gås aldri gjennom: systemmapper, ~/Library, papirkurven, Bilder-biblioteker, .git og node_modules.

Skanning#

Scan connected disks skanner hver tilkoblede kilde; hvert kildekort har sin egen Scan for bare den ene. Knappen blir Cancel scan mens en skanning går, og en avbrytelse virker fra neste fil.

En skanning går i fem runder, og statuslinjen navngir den den er i:

  1. Listing files — bare katalogoppføringer. Ingenting leses.
  2. Reading headers — beholderen, opptakstidspunktet, vurderingen og et billig fingeravtrykk av de første 64 kB.
  3. Comparing possible copies — hele fila og bildedataene hashes, men bare for filer der det billige fingeravtrykket alt ligner noe annet. De fleste filer leses aldri lenger enn til hodet.
  4. Comparing raw data — sensorverdiene dekodes, for et opptak som finnes som to filer med ulike bildedata. Det er dette som parer en CR2 med DNG-en som ble laget av den.
  5. Comparing images without metadata — av med mindre du ber om det. Se under.

Resultatene kommer mens skanningen fortsatt går: gruppene regnes ut på nytt med noen sekunders mellomrom når nye hasher kommer inn, og én gang til på slutten.

Bare én skanning går om gangen, og en kilde kan ikke fjernes mens en pågår.

Bilder uten kameradata#

Fanen Disks har én innstilling: Also compare images without camera metadata by how they look (slower). Med den på legger skanningen til en perseptuell hash for filer som ikke har noen opptaksidentitet i det hele tatt — skjermbilder, nedlastinger, alt som er strippet for EXIF — og matcher dem etter utseende.

Den er av som standard fordi den dekoder en forhåndsvisning av hver slik fil. Terskelen er med vilje stram: en omkodet eller endret kopi av ett bilde holder seg innenfor noen få biter, mens bildet tatt et halvt sekund senere ikke gjør det.

Innstillingene gjelder fra neste skanning, ikke bakover i tid.

Forhåndsvisning av hvert bilde#

Biblioteket har en liten forhåndsvisning av hvert bilde på denne datamaskinen, så du kan bla i en disk med den frakoblet. En skanning lager dem fra forhåndsvisningen kameraet la i fila, mens den leser fila uansett; en mappe åpnet i photosuite får dem uten skanning. Et bilde du fremkaller, beskjærer eller snur, vises slik når endringen er lagret, og som tatt igjen når du tilbakestiller det.

Stored previews på fanen Disks setter størrelsen — 256, 384 eller 512 piksler på den lange siden, eller ingen — og sier hvor mye plass de tar. En ny størrelse lages ved neste skanning. Et kamera som ikke legger noen forhåndsvisning i filene sine (noen fra før 2005), får ingen.

Sikkerhetskopier#

Det meste biblioteket vet, kommer tilbake med en skanning, fordi merkene og ordene ligger i bildene. Albumene, de lagrede søkene og hva som flyttet seg hvor, gjør ikke det, så biblioteket sikkerhetskopieres — hver uke med mindre du velger noe annet, og før hver oppdatering som endrer hvordan det lagres. Fanen Disks sier hvor ofte, hvor mange sikkerhetskopier som beholdes (åtte med mindre du velger noe annet), og hvor de havner: en mappe du velger, eller ellers en mappe på en annen disk i biblioteket enn denne datamaskinens, så én disk som svikter, ikke tar begge. Hver sikkerhetskopi har også hvert album som en enkel liste over bildene.

Biblioteket sjekkes før hver sikkerhetskopi, og et skadet bibliotek tas aldri sikkerhetskopi av over de gode kopiene. Er det skadet, sier infolinjen fra og tilbyr Restore from Backup…; har sikkerhetskopieringen stoppet i dobbelt så lenge som intervallet, tilbyr den Back Up Now. Restore… ved en sikkerhetskopi legger biblioteket tilbake slik det var da, med album og lagrede søk, og skanner de tilkoblede diskene så det som har endret seg i bildene siden, kommer tilbake.

På de andre enhetene dine#

Telefonen og de andre maskinene dine kan bla i albumene og mappene du velger, uten filene, med FLOGVIT.plus. Høyreklikk et album eller en mappe i Library-visningen og huk av for Available on My Devices: en forhåndsvisning av hvert bilde der — fremkalt, beskåret og snudd slik det er her — går til photosuites nettsted, sammen med når det ble tatt og med hva. Fjern haken, så tas de ned igjen. Ingenting går dit uten at du legger det der, fordi forhåndsvisningene tar plass på nettstedet.

Stjerner, flagg, etiketter, fremkalling, utsnitt og IPTC følger deg mellom maskinene dine uansett, for hvert bilde, når Keep marks and edits in step with my other devices er på i Innstillinger.

Når filer flytter seg eller forsvinner#

En disk i biblioteket skannes i bakgrunnen når den kobles til; infolinjen sier hva skanningen gjør, og har en knapp som stopper den. Bare det som er endret siden forrige skanning, leses på nytt.

En mappe som får nytt navn eller flyttes i photosuite, bilder som flyttes til en annen mappe, og en omdøping i bunke endrer biblioteket med en gang, og albumene beholder bildene på de nye stiene. Flyttet i Finder i stedet blir et bilde funnet igjen ved neste skanning, uansett hvor det nå ligger på en disk i biblioteket: det samme filinnholdet, eller det samme opptaket fra det samme kameraet, på en ny sti. Det beholder alt som henger på det, og albumene følger med.

En fil skanningen ikke finner noe sted, er missing, ikke glemt. Hvert kildekort på fanen Disks lister de manglende filene med siste sti. Locate… spør etter mappen en av dem ligger i nå, og hver manglende fil fra den gamle mappen som ligger der med samme navn, følger med. Forget er for filer som er borte for godt. Manglende filer holdes utenfor søk og duplikatgruppene.

Hva «det samme bildet» betyr#

To filer kan være like på seks ulike måter, og hvilken det er, avgjør om du trygt kan kaste en av dem. Forholdet vises ved hver fil, grønt når kopiene kan byttes ut med hverandre, og gult når de ikke kan.

Forhold Hva det betyr Trygt å slette en?
Identical file Den samme fila byte for byte. Ja
Same image, different metadata De samme pikslene; stjernene, nøkkelordene eller IPTC er ulike. Ja, men slå sammen metadataene først
Same raw data, different file De samme sensorverdiene i en annen beholder eller komprimering — en RAW og den tapsfrie DNG-en av den. Ja
Same capture, different version Én eksponering, to bilder: en eksport, en redigering, en DNG med tap. Nei — pikslene er ulike
Looks identical (no metadata) Ingen opptaksidentitet på noen av sidene, men de ser like ut. Vises bare med den perseptuelle innstillingen på. Vurder det selv
Related I denne gruppen bare gjennom en annen fil. Vurder det selv

De tre første er det appen kaller utskiftbare: å slette en mister høyst metadata. Resten er versjoner, og en versjon er et annet bilde.

Opptaksidentiteten er kameraets merke og modell pluss opptakstidspunktet ned til brøkdelen av sekundet. Uten brøkdeler deler en hel serie samme nøkkel, så de regnes aldri som samme opptak. Husets serienummer holdes med vilje utenfor nøkkelen, fordi eksporter fjerner det — men når begge filene har ett og de er ulike, avvises matchen.

Bestemme hva som blir#

Fanen Duplicates lister grupper, med mest plass å hente først, med en filterbrikke per forhold som finnes. Velg en gruppe, så legges hver kopi ut til høyre med en forhåndsvisning og fakta: størrelse, dimensjoner, kamera, opptaksdato, vurdering og hvilken disk den ligger på.

  • Keep merker den som blir. Den starter på den første tilkoblede fila i gruppen.
  • Trash merker en fil som skal gå. En fil på en frakoblet disk kan ikke merkes.
  • Mark all interchangeable copies huker av hver fil som er samme bilde som den du beholder — det vanlige tilfellet, med ett trykk.
  • Move N files to Trash spør én gang til, og flytter dem så.

Merker advarer deg før du mister noe: has .xmp sidecar, has develop settings or edit history, disk not connected, inside a folder copy.

To vern du ikke kan gå forbi ved et uhell. En hel gruppe kan aldri kastes — én fil blir alltid igjen. Og å merke noe som ikke er samme bilde som det du beholder — en eksport, en redigering — krever at du huker av Yes, trash those versions too, fordi de pikslene ikke finnes noe annet sted.

Å kaste betyr systemets papirkurv. Filene kan hentes tilbake til du tømmer den; katalogen glemmer dem med en gang. Sidefiler følger fila si, unntatt en sidefil som deles med en annen fil i samme mappe, som blir.

En fil der størrelsen eller endringstiden ikke lenger stemmer med det skanningen registrerte, kastes aldri — den meldes i stedet som «file changed since it was scanned».

Slå sammen metadata først#

Merge metadata into kept copy henter stjernene, flagget, fargeetiketten, GPS, nøkkelordene, personene, IPTC-teksten og opphavsrettsmerket fra de andre kopiene inn i den du beholder. Verdiene i den du beholder, vinner; de andre fyller bare det den mangler. Nøkkelord og personer slås sammen. Når den du beholder, er åpen i hovedvinduet, endres stjernene og flagget der med en gang.

Det en sammenslåing ikke flytter, listes for deg: beskjæringer, fremkallingsinnstillinger og retning blir der de er. Har en kopi du skal kaste, en redigering, berger ikke sammenslåingen den.

Mappekopier#

Mappekopier: hele mapper der bildene er det samme settet. En backupmappe stemmer fortsatt etter at et konverteringsprogram har skrevet ny metadata i filene, fordi sammenligningen gjøres på bildene og ikke på bytene.
Mappekopier: hele mapper der bildene er det samme settet. En backupmappe stemmer fortsatt etter at et konverteringsprogram har skrevet ny metadata i filene, fordi sammenligningen gjøres på bildene og ikke på bytene.

Fanen Folder copies virker ett nivå opp: hele mapper der bildene er det samme settet. En backupmappe stemmer fortsatt etter at et konverteringsprogram skrev nye metadata inn i DNG-ene, fordi sammenligningen gjøres på utskiftbare sett og ikke på byte.

Nøstede treff samles i den ytterste mappen. Én mappe i et treff må alltid bli igjen, og roten på en kilde kastes aldri — fjern kilden i stedet.

Når kopiene ikke alle er identiske, får du vite det, med de ordene, før noe flyttes: bildene er de samme, men noen kopier har stjerner, nøkkelord eller redigeringer de andre ikke har.

Grupper som ligger helt inni et matchet mappepar, skjules fra fanen Duplicates, siden mapperaden alt representerer dem. Derfor går ikke de to tallene opp.

Fjerne en kilde#

Remove glemmer kilden og alt som er katalogisert på den. Filene på disken røres ikke.

En disk du kobler fra, blir værende i biblioteket. Filene dens vises fortsatt i grupper, merket disk not connected, og teller fortsatt med i det du kunne hentet tilbake — de kan bare ikke kastes før den er tilbake.

Over API-et#

0:11
Fortalt på engelsk, med undertekster. Spilles fra YouTube når du trykker på avspilling.

Alt over er client.library i SDK-en.

import { CullingClient } from './photosuite-sdk.mjs';

const client = new CullingClient();   // 127.0.0.1:9100, token from CULLING_API_TOKEN

const source = await client.library.addSource('/Volumes/Archive');
await client.library.exclude(source.id, 'Proofs');

// Scans, then waits for the grouping that follows it.
await client.library.scanAndWait();

const page = await client.library.results({ relation: 'identical', limit: 50 });
if (page.stats) {
  console.log(`${page.stats.groups} groups, ${page.stats.recoverableBytes} bytes recoverable`);
}

for (const group of page.groups) {
  const [keeper, ...rest] = group.files;
  if (!keeper) continue;
  await client.library.mergeMetadata(keeper.id, rest.map((f) => f.id));
  const report = await client.library.trash(rest.map((f) => f.id));
  for (const skip of report.skipped) console.warn(`kept ${skip.path}: ${skip.reason}`);
}

scanAndWait finnes fordi at en skanning er ferdig, ikke er det samme som at resultatene er klare: grupperingen går etterpå. Spør du bare scanStatus(), finner du et tomt results() en liten stund.

Fremdriften kommer også som hendelser — library_scan_started, library_scan_progress, library_scan_finished, library_results_changed og library_sources_changed:

client.on('library_scan_progress', (p) => {
  console.log(`${p.phase}: ${p.hashDone}/${p.hashTotal}`);
});

missing(), relink(id, folder) og forgetMissing(ids) gjør det listen over manglende filer på fanen Disks gjør, og preview(id) gir den lagrede forhåndsvisningen av en fil som JPEG-byte. backups(), backUp() og restore(path) gjør det raden for sikkerhetskopier gjør.

To ting å vite før du automatiserer sletting. trash() nekter å kaste den siste kopien av et bilde i gruppen med mindre du sender allowLastOfCluster — ikke send den for å gjøre et skript stillere. Og results() kan komme tilbake med ready: false mens den første grupperingen fortsatt går; scanAndWait håndterer det alt, en hjemmesnekret spørrerunde må gjøre det selv.

Alle rutene står i API-referansen under Analyze.

Hvor det ligger#

Én SQLite-fil, library.sqlite, i mappen library i innstillingsmappen (~/Library/Application Support/flogvit/), med de lagrede forhåndsvisningene og sikkerhetskopiene ved siden av. Den har stier, størrelser, hasher og metadata — aldri bildedata. Merkene og ordene kommer tilbake fra bildene med en skanning, men albumene, de lagrede søkene, opptakene og hva som flyttet seg hvor, finnes bare der: vil du begynne på nytt, legger du tilbake en sikkerhetskopi i stedet for å slette den.

Har du brukt FLOGVIT.duplicates, importeres databasen derfra første gang biblioteket åpnes, med hasher og alt, så en ny skanning ikke må lese disker som kanskje ikke engang er tilkoblet. Det skjer én gang, og bare inn i et bibliotek som ennå ikke har noe i seg.

esc
    ↑↓ naviger↵ åpne