getQuantumRange() can be handy here:
<?php
$i = new Imagick($imageFile);
$max = $i->getQuantumRange();
$max = $max["quantumRangeLong"]; 
$i->thresholdImage(0.77 * $max);
?>(PECL imagick 2, PECL imagick 3)
Imagick::thresholdImage — Changes the value of individual pixels based on a threshold
Changes the value of individual pixels based on the intensity of each pixel compared to threshold. The result is a high-contrast, two color image.
threshold
channel
   Повертає true в разі успіху.
  
Приклад #1 Imagick::thresholdImage()
<?php
function thresholdimage($imagePath, $threshold, $channel) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->thresholdimage($threshold * \Imagick::getQuantum(), $channel);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}
?>getQuantumRange() can be handy here:
<?php
$i = new Imagick($imageFile);
$max = $i->getQuantumRange();
$max = $max["quantumRangeLong"]; 
$i->thresholdImage(0.77 * $max);
?>