• ImageVerifier (IV para o short) atravessa uma hierarquia de pastas em busca de arquivos de imagem para verificar. Pode verificar Tiff, Jpeg. PSDs, DNGs, e não DNG raws (por exemplo, NEF, CR2). IV é projetado para processar um grande número de imagens. Hierarquias de pasta com 100.000 imagens ou mais deve ser nenhum problema. Em uma operação de ensaio, IV correu para as 14 horas. Existem dois tipos de verificação IV executa: Estrutura de controlo e verificação de hash. Toda a estrutura de verificação de outros do que para os não-DNG raws é built-in; para DNGs IV usa o Adobe DNG SDK diretamente. Os ficheiros jpeg e Tiff são verificados usando bibliotecas integradas. PSDs são validados usando um método projetado especificamente para ImageVerifier que segue Adobe documentação para o formato PSD. Não DNG raws (por exemplo, fotos em nef) são verificados por executá-los através do Adobe DNG Converter. Para todos os arquivos de imagem, estrutura de verificação é realizada através da leitura de dados de imagem real, descompactando, conforme necessário. Isto pode encontrar muitos erros, mas não todas, como alguns erros são indistinguíveis para os dados de imagem. O trabalho real é feito por subprocessos, então, IV pode tirar proveito dos vários processadores (ou de múltiplos núcleos) de computadores. Por exemplo, se você tem 4 CPUs, ImageVerfier deve ser capaz de carregar todas de uma vez só. Para cada verificação de execução, chamados a uma tarefa, você pode escolher as pastas, se o processo de subpastas ou apenas o nível superior, que tipos de imagens para o processo de (TIFF, JPEG, PSD, DNG, e/ou não-raw em DNG), o número máximo de erros de relatório, e se os resultados em um banco de dados interno. Estrutura de verificação é verificar o arquivo de imagem através da leitura, através das suas diversas estruturas e descompactar qualquer arquivo de dados de imagem, procurando por erros. Este pode ser eficaz na constatação de dano, se o dano for grande e/ou a imagem é comprimida. Para imagens altamente compactadas como JPEGs, a detecção de danos é muito bom. Não é tão bom para descompactado raws, tais como o DNGs que vêm directamente a partir de uma Leica M8. É melhor para compactado DNGs, mas não tão bom quanto o é para JPEGs. Outra abordagem é inteiramente hash de verificação, que é a manutenção para cada imagem conhecida para ser bom um comprimento fixo de hash, calculado a partir de todos os bytes do arquivo, de modo que é improvável que dois arquivos diferentes produzirá o mesmo hash. (Não impossível, já que o hash é de tamanho fixo e o número possível de arquivos de imagem é infinita.) Se os dois arquivos são o bom e uma cópia (ou mesmo o original) que foi danificado e, em seguida, comparando os hashes dos dois arquivos mostrará que os arquivos não são o mesmo. Comparando os arquivos reais é ainda melhor, mas no caso de um único arquivo que foi danificado, você não tem dois arquivos. Tudo que você tem é o arquivo danificado e o hash a partir de quando costumava ser bom. Além disso, a leitura de um arquivo para calcular o hash leva metade do tempo, como a leitura de dois arquivos. A coisa agradável sobre a estrutura da verificação de que a contabilidade não está envolvido-cada arquivo. Hash verificar, no entanto, não criar complicações, porque você precisa colocar o hash em algum lugar, e você precisa de uma forma de associar a imagem com o seu hash. Isso é fácil para uma BARRAGEM sistema que controla todos os ativos, mas muito mais difícil com um passivo utilitário como ImageVerifier. Colocando o hash dentro do arquivo, é uma abordagem, mas isso tem dois problemas: É seguro apenas para certos formatos para os quais é permitido, tal como DNG, e requer IV para escrever no arquivo, o que eu não quero fazer, porque isso levanta a possibilidade de danos ao ficheiro durante a verificação, e porque muitos fotógrafos não quiser usar os utilitários que escrever em seus arquivos. Então, aqui está o esquema IV usos: Para cada arquivo, é gerada uma chave que é rico o suficiente para que duas imagens diferentes não têm a mesma chave. A chave é a concatenação do nome do arquivo (e não o caminho, apenas o último componente), o tamanho, a data/hora da modificação do arquivo, o EXIF DateTimeDigitized, EXIF SubSecTimeDigitized, e o EXIF DateTimeOriginal (também chamado de simples DateTime). Ainda é possível para duas imagens diferentes para ter chaves idênticas, mas o pior que vai acontecer nesse caso é que o IV erroneamente dizem que eles são diferentes e, em seguida, mais tarde, você pode determinar que eles não são.
  • (Kısa IV) İmageVerifier resim dosyaları doğrulamak için arıyor klasörlerin bir hiyerarşi erişir. TIFF, JPEG doğrulayabilirsiniz. (Örneğin, NEF, 12 BİT) PSDs, DNGs ve olmayan DNG raws. IV görüntü çok sayıda işlemek için tasarlanmıştır. Klasör veya daha fazla 100.000 görüntüleri ile hiyerarşileri sorun olmamalı. Bir testi, IV 14 saat boyunca koştu. IV gerçekleştirir: Yapı denetimi ve karma kontrol doğrulama iki tür vardır. Olmayan DNG raws için daha doğrulama diğer tüm yapısı yerleşiktir; DNGs IV için doğrudan Adobe DNG SDK kullanır. JPEG ve TIFF dosyalarını kullanan dahili kütüphanelerde de doğrulanır. PSDs PSD formatı için Adobe belgeleri izleyen özellikle İmageVerifier için tasarlanmış bir yöntem kullanılarak doğrulanır. Olmayan (örneğin, Nefli) DNG raws Adobe DNG Dönüştürücü ile çalıştırır tarafından doğrulandı. Tüm resim dosyaları için, yapı kontrol gerçek görüntü veri okuma, gerektiğinde boyutunda yapılır. Bu bazı hatalar görüntü veri ayırt edilemez gibi tüm pek çok hatalar, ama bulamıyor. Asıl iş doğru yapılır, yani IV avantajı (ya da birden çok bilgisayar çekirdek) birden fazla CPU yararlanabilirsiniz. Örneğin, eğer 4 CPU varsa, İmageVerfier tam olarak hepsini bir kerede yükleme kapasitesine sahip olmalıdır. Her doğrulama çalıştırmak, bir iş için, görüntülerin türlü rapor hataları DNG raw (TIFF, JPEG, PSD, DNG, ve/veya olmayan), en fazla sayıda işleme ve veritabanı inşa sonuçlarını depolamak için olsun alt veya üst seviye süreç olup klasörleri seçebilirsiniz. Yapı kontrol çeşitli yapıları aracılığıyla okuma ve herhangi bir sıkıştırılmış görüntü veri açılıyor, hatalar bakarak resim dosyası doğrulanıyor. Bu zararın büyük olduğunu ve/veya görüntü sıkıştırılmış bulma hasar etkili olabilir. JPEG gibi sıkıştırılmış resimler için, hasar tespiti çok iyi. Sıkıştırılmamış raws gibi düz bir Leica M8 gelen DNGs olarak çok iyi değil. Sıkıştırılmış DNGs için daha iyi, ama JPEG için o kadar iyi. Başka bir yaklaşım tamamen iki farklı dosyaları aynı hash üretmek olası değil bu dosyadaki tüm baytlar hesaplanan sabit uzunlukta bir karma iyi olduğu bilinen her resim için korumak olan karma kontrol edilir. Karma sabit uzunlukta ve mümkün olan en iyi görüntü dosyaları sayısı olduğu için (imkansız değil, sonsuzdur.) Eğer iki dosya iyi ve zarar gören (veya orijinal) bir kopyasını, daha sonra iki dosya sağlamalarının karşılaştırarak dosyaları aynı olmadığını gösterir. Gerçek dosyaları karşılaştırmak bile iyidir, ama zarar gören tek bir dosya halinde iki dosya yok. Tüm iyi olduğunda hasarlı dosya ve karmadır. Ayrıca, karma hesaplamak için bir dosya okuma iki dosya okuma olarak en fazla yarım saat sürer. Hiçbir defter tutma ilgili yapı denetimi hakkında güzel bir şey, her dosya kendi üzerinde duruyor. Karma kontrol, ancak, bir yerde karma koymak gerekir çünkü komplikasyonlar oluşturur ve karma ile resim ilişkilendirmek için bir yol gerekir. Bu tüm varlıkları kontrol eden bir BARAJ sistemi için, ama İmageVerifier gibi pasif bir yardımcı program ile çok daha kolay. Dosya içindeki karma koyarak bir yaklaşımdır, ama bu iki sorunu var: yalnızca izin verilen, bu DNG gibi bazı biçimleri için güvenli ve birçok fotoğrafçılar dosyalarına yazma tüm yardımcı programları kullanmak istemiyorum çünkü doğrulama sırasında dosya zarar görme olasılığını yükseltir ve IV çünkü bunu yapmak istemiyorum hangi dosyasına yazmak gerekir. Yani, burada IV her dosya İçin, bir anahtar, iki farklı görüntü aynı anahtar yok o kadar zengin oluşturulur kullanır: düzeni. Anahtar yolu, dosya adı değil, sadece son bileşeni), dosya boyutu, değiştirilme tarihi/saati, EXIF DateTimeDigitized, SubSecTimeDigitized EXIF ve EXIF DateTimeOriginal (ayrıca düz DateTime denir) yapılmalıdır. IV yanlışlıkla farklı olduklarını söyler ve daha sonra olmadığını belirlemek için iki farklı görüntü aynı anahtar için hala mümkün, ama bu durumda ne olacak o daha kötü.
  • ImageVerifier (IV for short) traverses a hierarchy of folders looking for image files to verify. It can verify TIFFs, JPEGs. PSDs, DNGs, and non-DNG raws (e.g., NEF, CR2).

    IV is designed to process large numbers of images. Folder hierarchies with 100,000 images or more should be no problem. In one test run, IV ran for 14 hours.

    There are two kinds of verification that IV performs: Structure checking and hash checking.

    All structure verification other than for non-DNG raws is built-in; for DNGs IV uses Adobe's DNG SDK directly. JPEGs and TIFFs are verified using built-in libraries as well. PSDs are validated using a method designed specifically for ImageVerifier that follows Adobe documentation for the PSD format. Non-DNG raws (e.g., NEFs) are verified by running them through Adobe DNG Converter.

    For all image files, structure checking is performed by reading the actual image data, decompressing as necessary. This can find many errors, but not all, as some errors are indistinguishable for image data.

    The real work is done by subprocesses, so IV can take advantage of multiple CPU (or multiple core) computers. For example, if you have 4 CPUs, ImageVerfier should be capable of fully loading all of them at once.

    For each verification run, called a job, you can choose the folders, whether to process subfolders or just the top level, what kinds of images to process (TIFF, JPEG, PSD, DNG, and/or non-DNG raw), the maximum number of errors to report, and whether to store the results in a built-in database.

    Structure checking is verifying the image file by reading through its various structures and decompressing any compressed image data, looking for errors. This can be effective in finding damage if the damage is large and/or the image is compressed. For highly compressed images like JPEGs, damage detection is very good. It's not so good for uncompressed raws, such as the DNGs that come straight from a Leica M8. It's better for compressed DNGs, but not as good as it is for JPEGs.

    Another approach entirely is hash checking, which is maintaining for each image known to be good a fixed-length hash computed from all the bytes in the file so that it's unlikely that two different files will produce the same hash. (Not impossible, since the hash is of fixed length and the number of possible image files is infinite.) If the two files are the good one and a copy (or even the original) that's been damaged, then comparing hashes of the two files will show that the files are not the same.

    Comparing the actual files is even better, but in the case of a single file that's been damaged you don't have two files. All you have is the damaged file and the hash from when it used to be good. Also, reading one file to compute its hash takes half as long as reading two files.

    The nice thing about structure checking is that no bookkeeping is involved-each file stands on its own. Hash checking, however, does create complications because you need to put the hash somewhere, and you need a way of associating the image with its hash. This is easy for a DAM system that controls all the assets, but much harder with a passive utility like ImageVerifier.

    Putting the hash inside the file is one approach, but this has two problems: It's safe only for certain formats for which it's allowed, such as DNG, and it requires IV to write into the file, which I don't want to do because it raises the possibility of damage to the file during verification and because many photographers don't want to use any utilities that write into their files.

    So, here's the scheme that IV uses: For each file, a key is generated that's rich enough so that two different images won't have the same key. The key is the concatenation of the filename (not the path, just the last component), the size, the modification date/time of the file, the EXIF DateTimeDigitized, the EXIF SubSecTimeDigitized, and the EXIF DateTimeOriginal (also called plain DateTime).

    It's still possible for two different images to have identical keys, but the worse that will happen in that case is that IV will erroneously say that they are different, and then later you can determine that they are not.