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 — Altera o valor de pixels individuais com base em um limite
Altera o valor de pixels individuais com base na intensidade de cada pixel em comparação com o limite. O resultado é uma imagem de alto contraste e duas cores.
threshold
channel
   Retorna true em caso de sucesso.
  
Exemplo #1 Exemplo de 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);
?>