This week’s assignment we are going to be doing a hands-on type of assignment. Follow the steps below to successfully complete the assignment. Step 1: Locate the fingerprint from last
Instructions
This week's assignment we are going to be doing a hands-on type of assignment. Follow the steps below to successfully complete the assignment.
Step 1: Locate the fingerprint from last week, make sure it is a JPG file. Convert if needed.
Step 2: Download the fpmv_beta_3_0.zip file, unzip the file, then go into the FpMV folder, then into the bin folder, then launch FpMV.exe
Step 3: In FpMV, you will want to load in your famous fingerprint scan JPG, and then use the following settings:
Quality = 0.1, FP Opacity = 75, Min Opacity = 100, FP Brightness and Contrast will vary but try and get the background white and the print black.
Step 4: Copy and paste into the lab document the Minutiae/Points/Markers of the fingerprint. It will vary on the number but I would say 25-60 should be given depending on the quality of the print.
Step 5: Now we get to the fun part. You have been given a fingerprint, Crime-Scene-Print.jpg, that was found at the scene of a triple murder, there are no leads in the case, and the detectives are hoping you can give them the name of the person belonging to the fingerprint. Open that print in FpMV and use roughly the same settings from above.
Step 6: Open another instance of FpMV, and start matching the fingerprints from the Fingerprints folder which is found in the Fingerprints.zip file, which you will need to unzip. Some of the fingerprints can be gotten rid of immediately from visual inspection, then the art of fingerprint analysis begins with the matching of the markers.
Step 7: Import into the Word file the source fingerprint as well as the suspect's matching fingerprint and make sure you notate the name of the Suspect, which is how the prints are named.
Step 8: Include a few sentences on the assignment, your thoughts on it, etc. And answer the question, Are fingerprints a valid choice of identifying an individual or is there too much ambiguity in fingerprint matching?
Fingerprints/Benjamin Ulrecht.jpg
Fingerprints/Chuck Mueller.jpg
Fingerprints/David Smith.jpg
Fingerprints/Ethan Galvin.jpg
Fingerprints/Felipe McConnell.jpg
Fingerprints/Floyd Grey.jpg
Fingerprints/Gina Cera.jpg
Fingerprints/Gloria Blair.jpg
Fingerprints/Heather Michaels.jpg
Fingerprints/Jason Dewalt.jpg
Fingerprints/Jennifer Hanks.jpg
Fingerprints/John Schmidt.jpg
Fingerprints/Juan Ferrero.jpg
Fingerprints/Justin Adams.jpg
Fingerprints/Kendrick Jones.jpg
Fingerprints/Kevin Howard.jpg
Fingerprints/Kimberly Sessions.jpg
Fingerprints/Leroy Cooper.jpg
Fingerprints/Matthew Whitaker.jpg
Fingerprints/Michelle Shea.jpg
Fingerprints/Mitch Young.jpg
Fingerprints/Nancy Tapper.jpg
Fingerprints/Paul Fletch.jpg
Fingerprints/Peter Kavanaugh.jpg
Fingerprints/Polyana Green.jpg
Fingerprints/Roberto Raju.jpg
Fingerprints/Thomas Stevens.jpg
Fingerprints/Tina Reynolds.jpg
Fingerprints/Vincent Dean.jpg
Fingerprints/William Denver.jpg
Fingerprints/Xavier Fry.jpg
Fingerprints/Yousef Kaliff.jpg
,
FpMV/bin/dwsq.exe
FpMV/bin/FpMV.exe
FpMV/bin/mindtct.exe
FpMV/bin/nfiq.exe
FpMV/README.txt
/******************************************************************************* License: This software and/or related materials was developed at the National Institute of Standards and Technology (NIST) by employees of the Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain. This software and/or related materials have been determined to be not subject to the EAR (see Part 734.3 of the EAR for exact details) because it is a publicly available technology and software, and is freely distributed to any interested party with no licensing requirements. Therefore, it is permissible to distribute this software as a free download from the internet. Disclaimer: This software and/or related materials was developed to promote biometric standards and biometric technology testing for the Federal Government in accordance with the USA PATRIOT Act and the Enhanced Border Security and Visa Entry Reform Act. Specific hardware and software products identified in this software were used in order to perform the software development. In no case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products and equipment identified are necessarily the best available for the purpose. This software and/or related materials are provided "AS-IS" without warranty of any kind including NO WARRANTY OF PERFORMANCE, MERCHANTABILITY, NO WARRANTY OF NON-INFRINGEMENT OF ANY 3RD PARTY INTELLECTUAL PROPERTY or FITNESS FOR A PARTICULAR PURPOSE or for any purpose whatsoever, for the licensed product, however used. In no event shall NIST be liable for any damages and/or costs, including but not limited to incidental or consequential damages of any kind, including economic damage or injury to property and lost profits, regardless of whether NIST shall be advised, have reason to know, or in fact shall know of the possibility. By using this software, you agree to bear all risk relating to quality, use and performance of the software and/or related materials. You agree to hold the Government harmless from any claim arising from your use of the software. *******************************************************************************/ To run the FpMV application, simply click FpMV.exe under the bin directory.
FpMV/src/FpMV/FPMD.suo
FpMV/src/FpMV/FpMV.sln
Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FpMV", "FpMVFpMV.csproj", "{621F6169-E45D-4E4F-8768-01B264C0688A}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {621F6169-E45D-4E4F-8768-01B264C0688A}.Debug|x86.ActiveCfg = Release|x86 {621F6169-E45D-4E4F-8768-01B264C0688A}.Debug|x86.Build.0 = Release|x86 {621F6169-E45D-4E4F-8768-01B264C0688A}.Release|x86.ActiveCfg = Release|x86 {621F6169-E45D-4E4F-8768-01B264C0688A}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal
FpMV/src/FpMV/FpMV.suo
FpMV/src/FpMV/FpMV.v12.suo
FpMV/src/FpMV/FpMV/bin/Debug/mindtct.exe
FpMV/src/FpMV/FpMV/bin/Release/dwsq.exe
FpMV/src/FpMV/FpMV/bin/Release/FpMV.vshost.application
GiuzXsIwiwe6d89gFbbc9M93S8U=
FpMV/src/FpMV/FpMV/bin/Release/FpMV.vshost.exe
FpMV/src/FpMV/FpMV/bin/Release/FpMV.vshost.exe.manifest
MAK+ffJJpyBfBPPLCuPryQnNxzE= sCEgONVk4UPt6U/N4dLqvCXZEPU=
FpMV/src/FpMV/FpMV/bin/Release/mindtct.exe
FpMV/src/FpMV/FpMV/bin/Release/nfiq.exe
FpMV/src/FpMV/FpMV/ClassDiagram1.cd
RaEbYgfYFSVAd7WKfOGASDJTdD44ITSYseRgEqhIjqA= Form1.cs
FpMV/src/FpMV/FpMV/Form1.cs
/******************************************************************************* License: This software and/or related materials was developed at the National Institute of Standards and Technology (NIST) by employees of the Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States Code, this software is not subject to copyright protection and is in the public domain. This software and/or related materials have been determined to be not subject to the EAR (see Part 734.3 of the EAR for exact details) because it is a publicly available technology and software, and is freely distributed to any interested party with no licensing requirements. Therefore, it is permissible to distribute this software as a free download from the internet. Disclaimer: This software and/or related materials was developed to promote biometric standards and biometric technology testing for the Federal Government in accordance with the USA PATRIOT Act and the Enhanced Border Security and Visa Entry Reform Act. Specific hardware and software products identified in this software were used in order to perform the software development. In no case does such identification imply recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the products and equipment identified are necessarily the best available for the purpose. This software and/or related materials are provided "AS-IS" without warranty of any kind including NO WARRANTY OF PERFORMANCE, MERCHANTABILITY, NO WARRANTY OF NON-INFRINGEMENT OF ANY 3RD PARTY INTELLECTUAL PROPERTY or FITNESS FOR A PARTICULAR PURPOSE or for any purpose whatsoever, for the licensed product, however used. In no event shall NIST be liable for any damages and/or costs, including but not limited to incidental or consequential damages of any kind, including economic damage or injury to property and lost profits, regardless of whether NIST shall be advised, have reason to know, or in fact shall know of the possibility. By using this software, you agree to bear all risk relating to quality, use and performance of the software and/or related materials. You agree to hold the Government harmless from any claim arising from your use of the software. *******************************************************************************/ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Windows; using System.Windows.Forms; using System.Windows.Media.Imaging; using System.Threading; namespace FpMV { public partial class Form1 : Form { string verion = "FpMV (Fingerprint Minutiae Viewer) – BETA V3.0"; string appPath = AppDomain.CurrentDomain.BaseDirectory; string FpMVPath; bool isFirstTimeStatus = true; //bool isMFirstTimeStatus = true; bool isImageStatus = false; bool veiwStatus = false; bool isRawWsqStatus = true; bool isEightBitStatus = true; bool workerRunningStatus = false; string chosenFile = ""; string previousChosenFile = ""; string imageFile = ""; string orgImageFile = ""; string fullFileName =""; string fileNamePrefix = ""; string fileExt = ""; string[] tempStr; string argv1 = ""; string argv2 = ""; string argv3 = ""; string arguments = ""; int width = 0; int height = 0; int previousWidth = 0; int previousHeight = 0; int totalMinutiae = 0; int displayMinutiae = 0; string curline = ""; string lines = ""; static int maxArrLenght = 10000; string[] temparrXY_IAFIS = new string[2]; string[] arrXY_IAFIS = new string[maxArrLenght]; int[] arrX_IAFIS = new int[maxArrLenght]; int[] arrY_IAFIS = new int[maxArrLenght]; double[] arrDIR_IAFIS = new double[maxArrLenght]; double[] arrREL_IAFIS = new double[maxArrLenght]; string[] arrTYP_IAFIS = new string[maxArrLenght]; double relScalar = 100; float contrastMax = 4.0f; float contrastMin = -1.0f; float contrastValue = 1.0f; float brightnessValue = 0.0f; float brightnessMax = 1.0f; float brightnessMin = -1.0f; int count; int index = 0; int minWidth = 8; int minHeight = 8; int maxWidth = 4000; int maxHeight = 4000; int imgWidth; int imgHeight; ColorMatrix colormatrix; ImageAttributes imgAttribute; Pen opaquePenRed; Pen opaquePenBlue; Pen opaquePenGreen; Pen opaqueShadowPenRed; Pen opaqueShadowPenBlue; Pen opaqueShadowPenGreen; bool drag; float ScaleFactor = 1; float ScaleRange = 2.0F; System.Drawing.Point basePoint; Image image = null; int x, y; Form2 SetWidthHeightForm; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { // Set Title this.Text = verion; // Enable application exit handler Application.ApplicationExit += new EventHandler(this.OnApplicationExit); // Enable drag and drop this.AllowDrop = true; // Set FormBorderStyle to not sizeable this.FormBorderStyle = FormBorderStyle.Fixed3D; // Add event handlers for PictureBox1 this.pictureBox1.Resize += new EventHandler(pictureBox1_Resize); this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(pictureBox1_Paint); // Add event handlers for the drag & drop functionality this.DragEnter += new System.Windows.Forms.DragEventHandler(Form1_DragEnter); this.DragDrop += new System.Windows.Forms.DragEventHandler(Form1_DragDrop); // Add event handler for the mouse wheel functionality this.pictureBox1.MouseWheel += new MouseEventHandler(pictureBox1_MouseWheel); this.pictureBox1.MouseMove += new MouseEventHandler(pictureBox1_MouseMove); this.pictureBox1.MouseDown += new MouseEventHandler(pictureBox1_MouseDown); this.pictureBox1.MouseUp += new MouseEventHandler(pictureBox1_MouseUp); this.pictureBox1.MouseHover += new EventHandler(pictureBox1_MouseHover); // Create directory using timestap as filename Stopwatch Stopwatch = Stopwatch.StartNew(); String timeStamp = Stopwatch.GetTimestamp().ToString(); FpMVPath = GetTempDir() + "FpMV\" + timeStamp + "\"; // Create FpMVPath if (!Directory.Exists(FpMVPath)) { System.IO.Directory.CreateDirectory(FpMVPath); if (!Directory.Exists(FpMVPath)) { MessageBox.Show("Can't create directory: " + FpMVPath, "Error Creating Directory!", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } } } private void pictureBox1_MouseWheel(object sender, MouseEventArgs e) { if (isImageStatus == true) { if (e.Delta > 0) { this.ZoomIn(); } if (e.Delta < 0) { this.ZoomOut(); } base.OnMouseWheel(e); } } private void pictureBox1_MouseUp(object sender, MouseEventArgs e) { if (isImageStatus == true) { if (e.Button == MouseButtons.Left) drag = false; base.OnMouseUp(e); } } private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { if (isImageStatus == true) { switch (e.Button) { case MouseButtons.Left: this.drag = true; x = e.X; y = e.Y; break; default: break; } base.OnMouseDown(e); } } private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { if (drag) { LimitBasePoint(basePoint.X + e.X – x, basePoint.Y + e.Y – y); x = e.X; y = e.Y; this.pictureBox1.Invalidate(); } base.OnMouseMove(e); } private void ZoomExtents() { if (isImageStatus != false) this.ScaleFactor = (float)Math.Min((double)this.pictureBox1.Width / imgWidth, (double)this.pictureBox1.Height / imgHeight); } private void ZoomIn() { if (ScaleFactor < 10) { int x = (int)((this.pictureBox1.Width / ScaleRange – basePoint.X) / ScaleFactor); int y = (int)((this.pictureBox1.Height / ScaleRange – basePoint.Y) / ScaleFactor); ScaleFactor *= ScaleRange; LimitBasePoint((int)(this.pictureBox1.Width / ScaleRange – x * ScaleFactor), (int)(this.pictureBox1.Height / ScaleRange – y * ScaleFactor)); this.pictureBox1.Invalidate(); } } private void ZoomOut() { if (ScaleFactor > .1) { int x = (int)((this.pictureBox1.Width / ScaleRange – basePoint.X) / ScaleFactor); int y = (int)((this.pictureBox1.Height / ScaleRange – basePoint.Y) / ScaleFactor); ScaleFactor /= ScaleRange; LimitBasePoint((int)(this.pictureBox1.Width / ScaleRange – x * ScaleFactor), (int)(this.pictureBox1.Height / ScaleRange – y * ScaleFactor)); this.pictureBox1.Invalidate(); } } private void LimitBasePoint(int x, int y) { if (isImageStatus == false) return; int width = this.pictureBox1.Width – (int)(imgWidth * ScaleFactor); int height = this.pictureBox1.Height – (int)(imgHeight * ScaleFactor); if (width < 0) { x = Math.Max(Math.Min(x, 0), width); } else { x = (int)(width / 2); } if (height < 0) { y = Math.Max(Math.Min(y, 0), height); } else { y = (int)(height / 2); } basePoint = new System.Drawing.Point(x, y); } private void pictureBox1_MouseHover(object sender, EventArgs e) { pictureBox1.Focus(); } private void pictureBox1_Resize(object sender, EventArgs e) { int x = (int)((this.pictureBox1.Width / ScaleRange – basePoint.X) / ScaleFactor); int y = (int)((this.pictureBox1.Height / ScaleRange – basePoint.Y) / ScaleFactor); LimitBasePoint((int)(this.pictureBox1.Width / ScaleRange – x * ScaleFactor), (int)(this.pictureBox1.Height / ScaleRange – y * ScaleFactor)); if (this.WindowState == FormWindowState.Maximized) { //MessageBox.Show("MAX ", "MAX!", MessageBoxButtons.OK, MessageBoxIcon.Error); this.pictureBox1.Invalidate(); } if (this.WindowState == FormWindowState.Minimized) { //MessageBox.Show("MIN", "MIN", MessageBoxButtons.OK, MessageBoxIcon.Error); this.pictureBox1.Invalidate(); } if (this.WindowState == FormWindowState.Normal) { //MessageBox.Show("Norm ", "Norm!", MessageBoxButtons.OK, MessageBoxIcon.Error); this.pictureBox1.Invalidate(); } } private void openToolStripMenuItem1_Click(object sender, EventArgs e) { fileNamePrefix = ""; //isMFirstTimeStatus = true; openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "fingerImages"; openFileDialog1.Title = "Open a Image File (*.bmp, *.gif, *.jpg, *.png, *.raw, *.tif and *.wsq)"; openFileDialog1.FileName = ""; openFileDialog1.Filter = "(*.bmp, *.gif, *.jpg, *.png, *.raw, *tif, *.wsq)|*.bmp;*.gif;*.jpg;*.png;*.raw;*.tif;*.wsq"; // Save previous image filename if (isImageStatus == true) { previousChosenFile = chosenFile; } if (openFileDialog1.ShowDialog() != DialogResult.Cancel) { // Set image file chosenFile = openFileDialog1.FileName; imageFile = chosenFile; // Run MINDTCT – IAFIS executeMindtctIAFIS(); if (veiwStatus == true) { populate_IAFIS(imageFile, true); printImageMinutiaeInfo(); this.pictureBox1.Invalidate(); } else { if (isEightBitStatus == false && isRawWsqStatus == false) { isRawWsqStatus = true; masterReset(); this.pictureBox1.Invalidate(); } else if (isEightBitStatus == true && isRawWsqStatus == false) { if (isImageStatus == true) { populate_IAFIS(imageFile, true); printImageMinutiaeInfo(); this.pictureBox1.Invalidate(); } } else if (isEightBitStatus == true && isRawWsqStatus == true) { populate_IAFIS(imageFile, true); printImageMinutiaeInfo(); this.pictureBox1.Invalidate(); } else if (isEightBitStatus == false && isRawWsqStatus == true) { masterReset(); this.pictureBox1.Invalidate(); } } } else { textBox1.Text = "No Image File Selected!"; } } // This event occurs when the user drags over the form with // the mouse during a drag drop operation private void Form1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { // Check if the Dataformat of the data can be accepted // (we only accept file drops from Explorer, etc.) if (e.Data.GetDataPresent(System.Windows.DataFormats.FileDrop)) e.Effect = System.Windows.Forms.DragDropEffects.Copy; // Okay else e.Effect = System.Windows.Forms.DragDropEffects.None; // Unknown data, ignore it } // Occurs when the user releases the mouse over the drop target private void Form1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { int x = this.PointToClient(new System.Drawing.Point(e.X, e.Y)).X; int y = this.PointToClient(new System.Drawing.Point(e.X, e.Y)).Y; if (x >= pictureBox1.Location.X && x <= pictureBox1.Location.X + pictureBox1.Width && y >= pictureBox1.Location.Y && y <= pictureBox1.Location.Y + pictureBox1.Height) { //isMFirstTimeStatus = true; // Extract the data from the DataObject-Container into a string list string[] FileList = (string[])e.Data.GetData(System.Windows.DataFormats.FileDrop, false); string chosenFileTemp = FileList[0]; string ext = Path.GetExtension(chosenFileTemp); if (checkImageType(ext)) { // Set input file if (isImageStatus == true) { previousChosenFile = chosenFile; chosenFile = FileList[0]; imageFile = FileList[0]; } else { chosenFile = FileList[0]; imageFile = FileList[0]; } // Run MINDTCT – IAFIS executeMindtctIAFIS(); if (veiwStatus == true) { populate_IAFIS(imageFile, true); printImageMinutiaeInfo(); this.pictureBox1.Invalidate(); } else { if (isEightBitStatus == false && isRawWsqStatus == false) { isRawWsqStatus = true; masterReset(); this.pictureBox1.Invalidate(); } else if (isEightBitStatus == true && isRawWsqStatus == false) { if (isImageStatus == true) { populate_IAFIS(imageFile, true); printImageMinutiaeInfo(); this.pictureBox1.Invalidate(); } } else if (isEightBitStatus == true && isRawWsqStatus == true) { populate_IAFIS(imageFile, true); printImageMinutiaeInfo(); this.pictureBox1.Invalidate(); } else if (isEightBitStatus == false && isRawWsqStatus == true) { masterReset(); this.pictureBox1.Invalidate(); } } } else { MessageBox.Show("Invalid Image Type! rnThis application only support: *.bmp, *.gif, *.jpg, *.png, *.raw, *.tif and *.wsq", "Error Image Type!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } private void getFileNameAndExt() { fullFileName = Path.GetFileName(imageFile); tempStr = fullFileName.Split('.'); fileNamePrefix = tempStr[0]; fileExt = tempStr[1]; } private void executeMindtctIAFIS() { // Initialize text box nfiqScoreTextBox.Text = ""; // Extract file information getFileNameAndExt(); // Initialize filename string rawFileName = fileNamePrefix + ".raw"; string pngFileName = fileNamePrefix + ".png"; if (fileExt == "wsq") { // Covert WSQ to PNG convertWsq2Png(fileNamePrefix); if (veiwStatus == false) { getFileNameAndExt(); if (fileExt == "wsq") { convertWsq2Png(fileNamePrefix); } else if (fileExt == "raw") { rawFileName = fileNamePrefix + ".raw"; pngFileName = fileNamePrefix + ".png"; // Copy source image file to FpMVPath File.Copy(imageFile, FpMVPath + rawFileName, true); // Covert RAW to PNG convertRaw2Png(rawFileName, pngFileName, "raw"); } } } else if (fileExt == "raw") { // Get the Raw dimension from Form2 getRawImageDimension(imageFile, fileNamePrefix); // Set the width and height width = SetWidthHeightForm.width; height = SetWidthHeightForm.height; //dispose the Form2 SetWidthHeightForm.Dispose(); // Case takecare if form return W and H both 0 if (width == 0 || height == 0) { chosenFile = previousChosenFile; imageFile = chosenFile; getFileNameAndExt(); if (fileExt == "raw") { rawFileName = fileNamePrefix + ".raw"; pngFileName = fileNamePrefix + ".png"; width = previousWidth; height = previousHeight; // Copy source image file to FpMVPath File.Copy(imageFile, FpMVPath + rawFileName, true); // Covert RAW to PNG convertRaw2Png(rawFileName, pngFileName, "raw"); } veiwStatus = false; isRawWsqStatus = false; } else { // Copy source image file to FpMVPath File.Copy(imageFile, FpMVPath + rawFileName, true); // Covert RAW to PNG convertRaw2Png(rawFileName, pngFileName, "raw"); } previousWidth = width; previousHeight = height; } else { // Convert input image to PNG convertImage2
Collepals.com Plagiarism Free Papers
Are you looking for custom essay writing service or even dissertation writing services? Just request for our write my paper service, and we'll match you with the best essay writer in your subject! With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.
Get ZERO PLAGIARISM, HUMAN WRITTEN ESSAYS
Why Hire Collepals.com writers to do your paper?
Quality- We are experienced and have access to ample research materials.
We write plagiarism Free Content
Confidential- We never share or sell your personal information to third parties.
Support-Chat with us today! We are always waiting to answer all your questions.
All Rights Reserved Terms and Conditions
College pals.com Privacy Policy 2010-2018