Categories
Uncategorized

Handoff Plan and Videos

Delivering the Product

Our product is split into two key parts, a dynamic sampling algorithm and a 3-D multivariate Kalman Filter. Both have been implemented in general terms in playground files within Swift. We are currently testing both to make sure they are up to par. We have shared our GitHub repository with our client from the start and have continuously informed him of progress updates. He’ll be able to pull directly from the repository, but if needed, we can send the file to him through another downloadable form (most likely through a zipped file over email). 

Installing the Product

Within the repository exists two separate swift playground files, respectively labeled after each key component. These files are composed of the primary function, some tests, and accompanying graphs to backup the tests. They can be opened instantly with XCode. The client will be able to copy the code from these files, and integrate the functions as he sees fit into his product. He has made it clear he doesn’t want us to do any integration, but will demonstrate to us how it fits into his codebase after he implements it so we can see where all our hard work is being used. Due to this lack of integration on our end, there is not much installation that needs to be done – it’s mainly just downloading and opening. 

Client Discussion

We plan to keep open channels of communication with our client after the end of the semester. We will be free to answer any questions he has on the product, installation, or documentation.

Handoff Videos

Intro:

Dynamic Sampling:

GyroAccel3d:

SurgeonLogin:

Kalman Filter Playground:

Categories
Uncategorized

Meeting Schedule

Coach Meetings

Wednesday 9:30AM via Zoom

Client Meetings

Meeting time will fluctuate depending on the client’s schedule. Meetings are currently planned to take place on the weekends via Zoom.

Team Meetings

Will occur on a weekly basis, at minimum, but will vary according to work schedules. We will observe the below When2Meet to schedule:

https://www.when2meet.com/?23148631-LHY97#google_vignette

Categories
Uncategorized

Ethics 1

Biased Hiring Practices

As AI has been rapidly expanding, it’s being incorporated into numerous practices – one of those being the hiring process. There is no doubt automation and AI can assist in optimizing initial screening, speeding up the entire process. One of the main ways AI is used in hiring is to scan and analyze resumes, cover letters, etc. for keywords and phrases, and then screen candidates based on that. This practice can unintentionally filter out candidates that don’t fit a cookie-cutter image, negatively affecting candidates with experience gaps or discriminating based on gender, race, socioeconomic status, and age. No systems are perfect, and AI models are infamously imperfect algorithms trained with biased datasets. Further, biases held by engineers are inevitably reflected in the models, a product of human nature. While many may argue the opposite, machine learning engineers can hold biases that are reflected in the systems developed. Because of this bias, this is unethical for use in hiring as it could (intentionally or unintentionally) prevent people from fair consideration for a role and inhibit them from pursuing certain career paths. One specific example of this biased hiring practice was unveiled in a recent Bloomberg study of ChatGPT 3.5. Although ChatGPT may not be the specific AI used during hiring, it serves as a good representative for existing AI models. The study found that ChatGPT held racial and gendered biases against candidates, and found one adversely impacted group for all job listings except one. For example, ChatGPT picked white women for a software engineer role more often, and black women significantly less often.

The problem here exists both in the product and the engineer. The engineer was already touched on, as their biases can become reflected in the system. The data the system is trained on could also be biased, with more representation from white men over other groups of people,  making the AI system more biased towards majority groups. However, the AI system itself removes personality, work ethic, and numerous other factors that systems may struggle to identify. It has created a culture of “beating the bot” on job applications, with candidates working to optimize a resume so keywords get picked up rather than presenting it as a true reflection of their working ability. The choice of companies to use AI makes sense, it’s cheap and effective. However, what is the cutoff point? As AI continues to develop, it’ll be interesting to see the different levels of AI reliance companies have on their hiring practices.

A few articles touching on this topic: https://communicationmgmt.usc.edu/blog/ai-in-hr-how-artificial-intelligence-is-changing-hiring

https://www.forbes.com/sites/jackkelly/2023/11/04/how-companies-are-hiring-and-firing-with-ai/?sh=460a0903593b

https://www.bloomberg.com/graphics/2024-openai-gpt-hiring-racial-discrimination/?embedded-checkout=true

Deepfake technology for nonconsensual pornography

The pervasive use of deepfake technology for nonconsensual pornography underscores a deeply concerning trend in online exploitation. Research suggests that a significant portion of deepfakes, about 90-95% since 2018, are deployed in nonconsensual pornographic contexts. These deepfakes utilize images of women who have not consented and are completely unaware of their portrayal in such a manner. This is an extreme violation of their privacy and autonomy, and is extremely unethical. Further, the misuse extends beyond adults, as deepfaked pornographic materials may also portray children in compromising situations. Even in cases where the depicted individuals are fictitious, the portrayal of child-like images exacerbates the reprehensible nature of these acts. 

Additionally, a manipulated video could easily be distributed widely across the internet, creating a false narrative of the victim’s involvement in inappropriate or illegal activities. The false perception created by the deepfakes that may be entirely fabricated, have the potential to inflict profound harm on individuals damaging their mental health, reputation, relationships and professional life and result in irreversible consequences.

While the technology for AI deepfakes can have many positive applications such as seeing and hearing fragments of a passed loved one, this misuse raises valid ethical concerns as to whether this kind of technology is necessary to have, and what sort of restrictions may be necessary. This is especially true considering that the tools are easily accessible to anyone with access to the internet. 

This situation is largely a result of how the technology is being used. The engineers of these functions were likely not intending for the technology to be used in harmful ways. However, restrictions should be put into place to prevent further unethical use of deepfake technology. There are currently moves towards putting restrictions into place, with a recent instance of faked explicit images of Taylor Swift reinvigorating voices within Congress.

https://www.dhs.gov/sites/default/files/publications/increasing_threats_of_deepfake_identities_0.pdf

https://oversight.house.gov/release/mace-deepfakes-pose-real-dangers/#:~:text=It%20can%20be%20used%20to,to%20create%20national%20security%20threats.

https://www.bbc.com/news/technology-68110476

Data Misuse and Privacy Breaches in Apps

In an age of consistent technology consumption, applications, most notably social media apps, collect user data for a variety of reasons, such as personalizing a user’s experience or analyzing audience demographics. However, with this comes an important discussion regarding how to ensure that the data collection is ethical. In these situations, we must consider transparency/the user’s knowledge of what information is being collected, security, access-rights, and so on. Within recent years especially, we have seen many situations and even legal cases that revolve around misuse of data or data collection without the user’s consent. One example was the use of Uber’s ‘God View’ tool in 2016. With this tool, there was no restriction on which employees could see when and where customers were traveling. Additionally, despite ensuring that they would discontinue such access in 2014, there was no further restriction and employees could still access all of this information. Eventually, they further developed this tool to be called “Heaven View”, but there was still not a ton of restriction and employees were caught tracking personal information. An important note here is that Uber was publicly denying the idea of unrestricted access while employees negated their claims of denial. In this case, two main issues occur:  a lack of transparency and the lack of keeping personal information private.

The problem in this case is more due to the software engineer’s behavior, as software engineers are the ones intentionally creating these features that violate the user’s privacy. Further, the lack of transparency could easily be solved if the software companies chose to inform users of the features they were adding. This lack of transparency is perceived as secrecy and causes the user to doubt what information is being collected and what their data is being used for without their knowledge.

Article:

https://www.cosmopolitan.com/lifestyle/a8495499/uber-using-god-view-tool-to-spy-on-celebs/

Categories
Uncategorized

APPLES

As technology has developed and become more efficient and erstatile, it has been increasingly intertwined with medical procedures for numerous reasons, all of which have the primary goal of improving the health outcomes of patients. Our project is an iOS External Ventricular Drain Tracker application. Our client, Dr. Andrew Abumoussa, discussed how the current practice of the External Ventricular Drain procedure relies on neurosurgeons estimating the angle and insertion depth of the stent as they insert it into the brain.

The goal of this app is to make this routinely performed procedure easier and more accurate by providing a projected guide of the pressure point by overlaying the patient’s 3D scan over the patient’s head on the app’s screen. The app then relies on data transmitted from the neurosurgeon’s Apple Watch and an AI tracker on the stent to successfully guide the neurosurgeon’s insertion. Our project’s core values are accuracy, precision, and privacy. These values all attest to the goal of the project, to improve patient outcomes and the success rate of the procedure. The External Ventricular Drain procedure is performed an estimated 20,000 – 25,000 times each year, which leaves a lot of room for error. The brain is a sensitive organ, and one wrong poke can lead to a slew of complications for the patient. Our project meets the need for neurosurgeons performing this surgery as no current tool exists to assist the neurosurgeon in real-time when inserting the stent. Neurosurgeons rely on previously scanning the patient’s CT scan, their experience in performing the procedure, and their best judgment. Common complications for this procedure include a brain hemorrhage (stroke), dislodgement, blockage, and various types of infection. These complications are all dangerous and deadly in their own regard. Our project works to reduce the prevalence of these complications by improving the success rate of the procedure. It also could make patients feel more secure in the procedure being performed, as some patients are awake when this procedure is performed. By giving neurosurgeons this tool, we put the decision in the doctor’s hands.

Not all doctors may choose to use this tool, but, by giving them the option, we could improve the lives of numerous individuals who undergo this procedure each year. Our part in this project is to help wrap up the application and optimize different portions of it. Primarily, we are developing a dynamic sampling algorithm to decrease the facial CT Scan alignment’s impact on the GPU and battery life. We are also developing a 3D Multivariate Kalman Filter to help denoise the statistical data being transmitted from the Apple Watch to the phone app, thus increasing the stent tracking accuracy. These portions work to improve the effectiveness and lifespan of the app (or phone). Overall, we are confident this application can make a real change in this world and improve the patient outcomes of this common procedure.

Categories
Uncategorized

D5. Code

The following link will take you to the repository that holds our code for the iOS EVDS project:

https://github.com/haleygb/iosevds

Please see the ReadMe for a step by step of how to access and start each aspect of the code. You may also view the user manual.

Note: Our code is not integrated into one app or workspace currently, due to the client’s wishes and a lack of access to the client’s current repository that holds the existing app. For this reason, various elements are separated into their respective XCode projects in order to provide abstract, clean code to be integrated into the client’s app.

Additional Note: As you may have noticed, a new repository was made close to the submission date. One of the ignored XCode binary files had mysteriously changed and caused consistent merge conflicts on all branches, however, our computers could not open the binary file to resolve said issue. For this reason, and additionally readability and organization purposes, a new repository was created and shared with the client.

Categories
Uncategorized

D4. User Manual

User Documentation Plan

We plan to create a user manual for our primary users, neurosurgeons. We believe a brief user manual would be most effective for a neurosurgeon, who may not have time to sit down and watch a video, and would allow the user to progress at their own speed. The user manual will walk through each step of using the app, including how to download and begin to use the app, how to upload a CT scan, where to position the phone in relation to the patient’s head, and what each tab in the app does. Each step of the user manual will include screenshots of the app to show where users should click and descriptions of each step below the screenshots. Additionally, we plan to include a brief list of FAQs. 

Because our development occurred in a separate repository with simulated data, we will have documentation for how to test/run the algorithms and how to integrate them into an existing system the client may have. We also plan to comment our code well, describing the various inputs and necessary dimensions/sizes of the inputs.

Our User Manual

https://docs.google.com/document/d/1l85vo2F56kAgCvZGnmftVtvedQSBJCG3DgwTRFOZAig/edit?usp=sharing

Categories
Uncategorized

D3. Test Plan

Ideal Plan – Unlimited time and resources

  • Unit testing
    • Each function written will have its own set of unit tests, including use and edge cases, to ensure that the behavior of the function and output matches the expected results
  • Integration and systems Testing
    • The dynamic sampling algorithm will be integrated with the CV to ensure that the frequency of scanning is correctly correlated with camera movement and adjusts error levels accordingly
    • Kalman filter will be integrated into the existing repository for the stent tracking device to ensure the Apple Watch is reducing statistical noise to best-case estimate the distance of the stent in hand for the insert angle on the apps screen. 
    • Test Kalman Filter by increasing noise (via rapid hand movements) and comparing the results to non-noised results/results from the app pre-introduction of the Kalman Filter 
  • Descriptions of tools used
    • XCTest will be utilized in Swift to write and implement each unit test
    • Regarding the Kalman filter, we will be creating a View in Swift using Charts in order to ensure and observe that the noise is canceled out, which is indicated by the filter line becoming closer to the input data line on the graph
  • Descriptions of types of End User
    • The primary user is a neurosurgeon that is performing the EVD
  • Performance, reliability, etc. testing
    • First phase:
      • Analyze battery use and GPU impact over a long period of use of the app
      • Have someone wear the watch and analyze the data to ensure that the Kalman filter remains accurate over time
    • Second phase:
      • Have a small number of surgeons wear the watch and utilize the app, without actually using for surgery (monitor battery life and facial scans); have them compare the depth tracking and use of the app to the current neuronavigation system and receive feedback on usability, reliability, and practicality
  • Acceptance testing
    • Meet with client to guarantee that all specifications are met based on the progress of our code
    • Have a small number of skilled, experienced surgeons utilize the app during a controlled surgery environment, not fully relying on the app

Current Plan

  • Unit testing:
    • We’ll be fully implementing the unit testing plan that we laid out in the ideal plan
  • Integration and system testing
    • Due to the client’s wishes and designated tasks, we will not be integrating the system into the actual existing project
  • Descriptions of Tools used
    • As mentioned in the ideal plan, we will be using XCTest and Charts to ensure correct results from our written functions
  • Description of types of End User
    • The end user is the neurosurgeon performing the EVD procedure
  • Performance, reliability, etc. testing
    • Analyze Charts View and stored performance data to observe frequency change (dynamic sampling) and accuracy (Kalman filter)
  • Acceptance testing
    • Meet with client to guarantee that all specifications are met based on the progress of our code
Categories
Uncategorized

D1. Specifications

User Stories

As a neurosurgeon, I want to ensure continuous functionality of the app and maintain high quality performance so that the potential disruptions caused by low battery levels do not compromise patient care and safety throughout the surgical procedure.

As a neurosurgeon, I want to have precise spatial awareness and position accuracy of my instrument in real time so that it can minimize the margin for error and enhance surgical accuracy.

As a patient, I want to view a smooth functioning application so that I can feel assured and confident in the medical process.

Requirements:

Functional

  • Definite
    • Users must be able to utilize the app without overloading their phone’s GPU and detrimentally draining battery life.
    • Dynamic Sampling of TrueDepth data to provide continuous tracking
  • Perhaps
    • Update the target location based on the dynamic sampling re-registration
  • Improbable
    • Implement User Authentication for security purposes.

Non-Functional

  • Definite
    • Improve the tracking of surgical instrument following optimized Kalman Filter tracking using Apple Watch data
  • Perhaps
    • Update the alignment UI components based on the tracked location of the surgical instrument
    • Ensure the application honors patient rights, is secure and is HIPAA compliant.
  • Interfaces – The interface for this application was developed by the client. We will need our work to fit into the existing software.
Categories
Uncategorized

D2. Design Document

Languages

  • Swift
    • Pros:
      • Works well with objective-C
      • A large selection of libraries and packages
    • Cons:
      • Reliant on packages
      • not ideal for cross-platform development
  • Objective-C:
    • Pros:
      • C but with Objects
      • Highly compatible with Swift 
    • Cons:
      • Unfamiliar with the language
      • High-learning curve

Back-end

  • Realm by Mongo DB
    • Pros:
      • fast, lightweight
      • easy to use for iOS persistence
    • Cons:
      • Unfamiliar with this Database
      • Minor experience with NoSQL

Front-end

  • SwiftUI
    • Pros:
      • Built-in visuals and features
      • Compatible with Objective-C
      • Part of our group is experienced with iOS development
    • Cons:
      • Not fully customizable
      • A newer package, limited compatibility with other packages

Packages

  • Swift Playgrounds
    • Pros:
      • Allows us to test functions & data in an enclosed environment
      • Can toggle and adjust variables easily
    • Cons:
      • Not many resources on how to work with them
  • Charts
    • Pros:
      • Let’s us visualize output from our functions
      • Will help us adjust and optimize our data 
    • Cons:
      • Not much experience with it
      • Limited compatibility with data types

Architecture Diagram