iOS application to extract accession numbers from wall labels using Vision and VisionKit frameworks.

Overview

ios-label-whisperer

iOS application to extract accession numbers from wall labels using Vision and VisionKit frameworks.

Important

This is experimental work in progress. It is still just a barely modified clone of Apple's Structuring Recognized Text on a Document sample project.

It works enough to scan and extract text from a camera source and to print that text to the screen, but that's all it does so far. There is no documentation to speak of. If you're not familiar with your way around an iOS project this may be too soon for you.

Next steps

Next steps are:

  • Actually extract one or more accession numbers from a piece of text. This needs to be an abstract protocol since the rules for extracting identifiers will vary from museum to museum.

  • Think about actions (or Protocols) for things to do with an accession number. For example, calling an API to get more information about an object. Maybe that doesn't belong here and maybe this just needs to be a plain vanilla package library, or framework, that hides a bunch of boiler-plate code with "a button" that returns accession numbers.

Help wanted

I don't live and breathe iOS applications so any suggestions or contributions, particularly on the subjects discussed in the Next steps section would be welcome.

The goal is to create a framework, or at least a working reference implementation, for an application that can be configured to extract accession numbers from museum wall labels. It should be possible to configure "extractors" for multiple accession numbers and to associate them with one or more museums.

What happens next is probably out of scope for this package and best left to a custom project that imports it.

Background

For background have a look at the 2014 blog post Label Whisperer from the Cooper Hewitt labs.

Examples

Hand-drawn

Cooper Hewitt

Things I'd forgotten about #1: We did not include accession numbers on the wall labels at Cooper Hewitt after the re-opening in 2014.

Cooper Hewitt (online)

Cooper Hewitt (online, print)

Things I'd forgotten about #2: We made a print stylesheet for the experimental /label URL for every object page at Cooper Hewitt.

SFO Museum (online)

See also

You might also like...
 Home Assistant Native iOS Application built with SwiftUI for iOS 15+
Home Assistant Native iOS Application built with SwiftUI for iOS 15+

Home Assistant - Native iOS SwiftUI Application Screenshots Disclaimer - Please read This application is mostly a not-working mockup written in SwiftU

This project is an application that lets users learn about the missions and astronauts that formed NASA’s Apollo space program.

This project is an application that lets users learn about the missions and astronauts that formed NASA’s Apollo space program.

Puma - A set of build utilities to automate mobile application development and deployment
Puma - A set of build utilities to automate mobile application development and deployment

Puma → https://github.com/onmyway133/Swiftlane Puma is a set of build utilities

Tip Calculator is a tip calculator application for iOS.
Tip Calculator is a tip calculator application for iOS.

Pre-work - Tip Calculator Tip Calculator is a tip calculator application for iOS. Submitted by: MohammadAmin Montazeri Time spent: 1 hours spent in to

How to develop an iOS 14 application with SwiftUI 2.0 framework. How to create an Onboarding Screen with Page Tab View

Ama-Fruits USER INTERFACE AND USER EXPERIENCE APP DESIGN How to develop an iOS 14 application with SwiftUI 2.0 framework. How to create an Onboarding

iOS application to rate songs in Spotify playlists
iOS application to rate songs in Spotify playlists

Description Reviewery is an iOS application to rate songs in Spotify playlists. It's a hobby project built in React Native. Read more in my Medium art

PagecallSDK - Integrate Pagecall for your iOS Application

Integrate Pagecall for your iOS Application [!] Bitcode is not supported, becaus

3DProject: MR based IOS application

3DProject Driving Question This is MR based IOS application. MR is to place a me

Grapefruit: Runtime Application Instruments for iOS
Grapefruit: Runtime Application Instruments for iOS

Grapefruit: Runtime Application Instruments for iOS Get Started Dependencies Grapefruit requires Node.js to be installed. If you can't install the fri

Comments
  • Update ScannedViewController table cell options

    Update ScannedViewController table cell options

    Currently when a ScannedViewController table cell is clicked it presents the WebViewController assuming that the organization definition (associated with an accession number) has an object_url URI template.

    These cells should be updated to display a context menu that:

    • Displays a "save this object" option. The details of what is saved and where remain TBD.
    • Only displays an "open webpage" option if there is an object_url URI template
    • Only displays an "do something OEmbed-related" option if there is an oembed_profile URI template
    • Only displays an "do something IIIF-related" option if there is an iiif_manifest URI template

    See also:

    • https://developer.apple.com/design/human-interface-guidelines/ios/controls/context-menus/
    • https://developer.apple.com/documentation/uikit/uicontrol/adding_context_menus_in_your_app
    help wanted 
    opened by thisisaaronland 1
  • Save selected organization to user.prefs

    Save selected organization to user.prefs

    When an organization is selected via the ChooseOrganizationViewController save that choice to the user's preferences.

    When ViewController is launched check to see whether there is a saved preference and load it accordingly.

    help wanted 
    opened by thisisaaronland 1
  • Export collection SQLite data

    Export collection SQLite data

    • https://stackoverflow.com/questions/50128462/how-to-save-document-to-files-app-in-swift
    • https://developer.apple.com/documentation/uikit/uidocumentinteractioncontroller
    help wanted 
    opened by thisisaaronland 0
  • Display UINavigationBar in WebViewController

    Display UINavigationBar in WebViewController

    Currently the WebViewController contains a navigation bar in the storyboard. When the view is presented it is covered by the WKView.

    This appears to be a common issue but I can't seem to make any of the proposed solutions work.

    Besides wanting to display an explicit close button (rather than relying on a swipe action) I also want to display a "Save" (this object) button.

    help wanted 
    opened by thisisaaronland 0
Owner
San Francisco International Airport Museum
San Francisco International Airport Museum
Swift JSExport extensions for macOS system frameworks

framework-bridge Swift JSExport extensions for macOS system frameworks. Progress Foundation AppKit Usage Swift import JavaScriptCore import FrameworkB

John Susek 0 Dec 13, 2021
Kushal Shingote 1 Feb 2, 2022
IOS Swift Application using VIPER Architecture

IOS Swift Application using VIPER Architecture. This is a simple design application for E-Commerce using VIPER architecture and CoreData, I prefer using Delegate Protocols rather than Third Party Library such as Rx but at this project I make it as an example on how to using VIPER.The application also support localization.

Mahmoud Salah 0 Dec 1, 2021
A property finder application written using React Native

React Native PropertyFinder App This repository accompanies the tutorial I published on Ray Wenderlich's website, which describes the process of build

Colin Eberhardt 276 Aug 14, 2022
TrafficLights - Traffic Lights application using swift

TrafficLights This is my homework. Working with Constraints and code. Press the

Maxim Khabirov 0 Feb 5, 2022
Joplin - an open source note taking and to-do application with synchronization capabilities for Windows, macOS, Linux, Android and iOS. Forum: https://discourse.joplinapp.org/

Joplin® is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are sea

Laurent 33.7k Dec 30, 2022
XCSnippetsApp - macOS application to explore code snippets from the Swift and iOS community, view and edit the snippets before adding them conveniently to Xcode

XCSnippetsApp macOS application to explore code snippets from the Swift and iOS community, view and edit the snippets before adding them conveniently

Marco Eidinger 119 Dec 27, 2022
🛠 A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.

Model-View-Presenter template A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern. This

Tamerlan Satualdypov 22 Nov 9, 2022
The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms.

Bitwarden Mobile Application The Bitwarden mobile application is written in C# with Xamarin Android, Xamarin iOS, and Xamarin Forms. Build/Run Require

Bitwarden 4.2k Dec 29, 2022
React Native utility library around image and video files for getting metadata like MIME type, timestamp, duration, and dimensions. Works on iOS and Android using Java and Obj-C, instead of Node 🚀.

Qeepsake React Native File Utils Extracts information from image and video files including MIME type, duration (video), dimensions, and timestamp. The

Qeepsake 12 Oct 19, 2022