{ "info": { "author": "Avinash Kak", "author_email": "kak@purdue.edu", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering :: Image Recognition" ], "description": "\n\nConsult the module API page at\n\n https://engineering.purdue.edu/kak/distICP/ICP-2.1.1.html\n\nfor all information related to this module, including information related to the\nlatest changes to the code. The page at the URL shown above lists all of the module\nfunctionality you can invoke in your own code. With regard to the new functionality\nadded in Version 2.1.0, that page also describes how you can use the ICP algorithm in\na scan mode when working with large images that are synthesized by collecting data\nfrom sensors in motions (as is the case with earth-observing satellites that use\npushbroom cameras and, in some cases, with the images recorded by UAVs).\n\n**Version 2.1.1** fixes a bug that made itself evident when using ICP in the scanning\nmode with a non-square array of subimages. \n\n**Version 2.1.0** incorporates a new ICPImageScanner class that allows the ICP\nalgorithm to be invoked in a scanning mode for subimage-based ICP registration of\nlarge model and data images. This version also includes a bugfix needed to make the\nmodule work with the more recent versions of the Pillow library for PIL. This\nversion also includes a constructor option for specifying your own font file needed\nfor displaying the results.\n\n**Version 2.0** is a Python 3.x compliant version of the ICP module. This version should work with both Python 3.x and Python 2.7.\n\nAn application scenario would be the registration of an image recorded by a\nUAV-mounted camera flying over a terrain with an image extracted from a GIS\n(Geographical Information System) database.\n\nTypical usage syntax for a color or grayscale image when using edge-based\nICP:\n\n::\n\n import ICP\n icp = ICP.ICP(\n binary_or_color = \"color\",\n corners_or_edges = \"edges\",\n auto_select_model_and_data = 1,\n calculation_image_size = 200,\n max_num_of_pixels_used_for_icp = 300,\n pixel_correspondence_dist_threshold = 20,\n iterations = 24,\n model_image = \"SydneyOpera.jpg\",\n data_image = \"SydneyOpera2.jpg\",\n )\n icp.extract_pixels_from_color_image(\"model\")\n icp.extract_pixels_from_color_image(\"data\")\n icp.icp()\n icp.display_images_used_for_edge_based_icp()\n icp.display_results_as_movie()\n icp.cleanup_directory()\n\n\nHere is example syntax for using corner-pixels based ICP:\n\n::\n\n import ICP\n icp = ICP.ICP(\n binary_or_color = \"color\",\n corners_or_edges = \"corners\",\n calculation_image_size = 200,\n image_polarity = -1,\n smoothing_low_medium_or_high = \"medium\",\n corner_detection_threshold = 0.2,\n pixel_correspondence_dist_threshold = 40,\n auto_select_model_and_data = 1,\n max_num_of_pixels_used_for_icp = 100,\n iterations = 16,\n model_image = \"textured.jpg\",\n data_image = \"textured2.jpg\",\n )\n icp.extract_pixels_from_color_image(\"model\")\n icp.extract_pixels_from_color_image(\"data\")\n icp.icp()\n icp.display_images_used_for_corner_based_icp()\n icp.display_results_as_movie()\n icp.cleanup_directory()\n\nYet another mode for using the module is for registering binary images. The\nExamples directory contains six canned scripts that illustrate the\ndifferent ways of using this module.\n\nFor the new functionality that was added in Version 2.1.0, see the ExamplesICPImageScanner\ndirectory for how to invoke that functionality for first chopping large images\ninto subimages and then applying ICP separately to each corresponding pair of\nsubimages.\n\n ", "description_content_type": null, "docs_url": null, "download_url": "https://engineering.purdue.edu/kak/distICP/ICP-2.1.1.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://engineering.purdue.edu/kak/distICP/ICP-2.1.1.html", "keywords": "image processing", "license": "Python Software Foundation License", "maintainer": "", "maintainer_email": "", "name": "ICP", "package_url": "https://pypi.org/project/ICP/", "platform": "All platforms", "project_url": "https://pypi.org/project/ICP/", "project_urls": { "Download": "https://engineering.purdue.edu/kak/distICP/ICP-2.1.1.tar.gz", "Homepage": "https://engineering.purdue.edu/kak/distICP/ICP-2.1.1.html" }, "release_url": "https://pypi.org/project/ICP/2.1.1/", "requires_dist": null, "requires_python": "", "summary": "A Python module for registering a photo with a database image of the same scene", "version": "2.1.1" }, "last_serial": 3363680, "releases": { "1.0": [], "1.1": [], "1.2": [], "1.3": [], "2.0": [ { "comment_text": "", "digests": { "md5": "9147dea2d96afd3a0f0f7d48c03e9ab8", "sha256": "f8c145994f375513a8ed0e2fab874bafc8846b39e6910fd8466b7a0910ae519b" }, "downloads": -1, "filename": "ICP-2.0.tar.gz", "has_sig": false, "md5_digest": "9147dea2d96afd3a0f0f7d48c03e9ab8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3766864, "upload_time": "2015-10-27T18:59:08", "url": "https://files.pythonhosted.org/packages/e3/b4/6c390096668195d75582e2e7f86b0374738565a73cae003f93205d9e426e/ICP-2.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "492adbdfff1a2066382583d15306b6eb", "sha256": "f9952969bb624f401d01178d9a1e22ffbf6ca62d5a55503f6f6113bff83df9c7" }, "downloads": -1, "filename": "ICP-2.1.0.tar.gz", "has_sig": false, "md5_digest": "492adbdfff1a2066382583d15306b6eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3882709, "upload_time": "2017-11-21T22:38:51", "url": "https://files.pythonhosted.org/packages/8f/d0/6dc51d7bb9662fef0f18f29c658a721b8be571b3a7aae16aa78dcaaa67ae/ICP-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "5113f2edd719135da3c86856e0c0e84b", "sha256": "6a705686d26e2d4aee82eecc437920498bd8d5b2f51d5f637961eb2a1012e1a5" }, "downloads": -1, "filename": "ICP-2.1.1.tar.gz", "has_sig": false, "md5_digest": "5113f2edd719135da3c86856e0c0e84b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3882760, "upload_time": "2017-11-26T00:15:18", "url": "https://files.pythonhosted.org/packages/2e/84/780043188e3c6b7715e796d4ac7ea5527223b3d2e820f2c197cbfe00cd88/ICP-2.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5113f2edd719135da3c86856e0c0e84b", "sha256": "6a705686d26e2d4aee82eecc437920498bd8d5b2f51d5f637961eb2a1012e1a5" }, "downloads": -1, "filename": "ICP-2.1.1.tar.gz", "has_sig": false, "md5_digest": "5113f2edd719135da3c86856e0c0e84b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3882760, "upload_time": "2017-11-26T00:15:18", "url": "https://files.pythonhosted.org/packages/2e/84/780043188e3c6b7715e796d4ac7ea5527223b3d2e820f2c197cbfe00cd88/ICP-2.1.1.tar.gz" } ] }