Scanners

Private security firm ConSec plans to showcase a powerful new potential weapon: "scanners", people with exceptional powers of telepathy such as mind reading, mind-control, and telekinesis. However, when ConSec's scanner attempts to demonstrate his scanning power by reading the mind of a volunteer from the invited audience, the volunteer turns out to be a more powerful scanner, who scans back and causes the ConSec scanner's head to explode. ConSec officials attempt to take the "volunteer" into custody; however, he uses his powers to kill the men guarding him, and escapes.
Stung by this embarrassing experience, ConSec security head Braedon Keller (Lawrence Dane) advocates shutting down ConSec's scanner research program, but program head Dr. Paul Ruth (Patrick McGoohan) disagrees, noting that the assassination and escape have shown the weapon's potential they had sought to demonstrate. Ruth attributes the operation to an evil scanner named Darryl Revok (Michael Ironside), who Ruth says has his own underground network of scanners in competition with ConSec's program. He argues that ConSec should recruit scanners to their cause to infiltrate and bring down Revok's group.
To this point, scanner Cameron Vale (Stephen Lack) has lived an unhappy life as a homeless social outcast, driven mad by the unceasing stream of other people's thoughts bombarding his mind. After bringing Vale into ConSec, Dr. Ruth injects him with a drug called ephemerol, which temporarily inhibits his scanning ability and restores his sanity. When Vale's mind is clear, Ruth asks for his help, explaining that Vale is a scanner and that Revok is killing all scanners who refuse to join him, and that Revok will kill Vale if Vale does not learn how to protect himself. Under Ruth's guidance, Vale learns to control his scanning abilities.
Unknown to Dr. Ruth, ConSec security head Keller is working for Revok as a spy. Revok learns of Ruth's infiltration plan, and dispatches assassins to follow Vale as he begins his search for Revok by visiting a so-far-unaffiliated scanner named Benjamin Pierce (Robert Silverman), who may know Revok's whereabouts. Revok's hired assassins follow Vale to Pierce's home and brutally shoot Pierce to death. Enraged, Vale uses his telepathic power to kill the assassins. As Pierce dies, Vale reads from his mind a nameâKim Obrist (Jennifer O'Neil). Vale tracks down Obrist, who has formed a telepathic alliance with a group of other scanners in opposition to Revok's group. Vale attends a meeting, but assassins working for Revok follow him and strike again, and only Vale and Obrist manage to escape alive. Scanning an assassin, Vale learns of a drug company, which he then infiltrates. He finds that large quantities of ephemerol are being distributed under a computer program called "Ripe", run by Revok himself through ConSec. Vale and Obrist return to ConSec, where Ruth suggests Vale scan the computer system to learn more about the Ripe program. Meanwhile, Keller tries to kill Obrist, but she escapes. Keller kills Dr. Ruth while Vale and Obrist flee the ConSec building.
Vale accesses the computer network through a telephone and pulls ephemerol shipment information. When Keller discovers this, he orders the computer system shut down while Vale is scanning it; Keller hopes to harm or kill Vale by doing so. The plan backfires and the computer explodes, killing Keller and leaving Vale and Obrist unharmed. They visit a doctor who is on the list of ephemerol recipients, where Obrist suddenly discovers that she is herself being scanned by the telepathic fetus of a pregnant woman in the doctor's waiting room. Vale realizes that besides suppressing the scanning ability of already-born scanners, ephemerol also causes fetuses to become scanners when it is administered to pregnant women. The purpose of the Ripe program becomes clear: to disseminate ephemerol to pregnant women, making their babies scanners, whom Revok will recruit into his army when they grow up. Obrist and Vale are then ambushed by Revok's men and abducted.
Revok reveals to Vale, who is now his captive, that ephemerol was originally developed by Dr. Ruth as a tranquilizer for pregnant women, and had the unintended side effect of causing the unborn children to become scanners. Ruth learned of this from providing the drug to his own wife during her pregnancies. Revok reveals that he and Vale are brothers and that Dr. Ruth was their father. Because their mother received the highest dose of ephemerol while pregnant, Revok and Vale are more powerful than any other scanners. By mass distributing ephemerol to unwitting doctors, who prescribe it to their pregnant patients, Revok plans to create a new generation of scanners, giving him the manpower to execute a plan of global domination over non-scanners, with Revok heading this new empire. Revok asks Vale to join him, but Vale refuses and the two have a final climactic telepathic battle against one another. Vale's body is incinerated but his mind enters Revok's body and takes over.
Soon thereafter, Obrist enters the room to find a charred bodyâVale's bodyâon the floor. She hears Vale's voice coming from the corner of the room. In the corner is Revokâbut his head scar is gone and he now has Vale's eyes. He faces Obrist and announces, "We've won", in Vale's voice.

Question: Who kills Dr. Ruth?
Answer: Keller