How do I tell Drupal 8 to use my custom module's theme template when rendering an image that is linked? I'm building a custom module to extend the default image field. It adds additional attributes that relate to the image field on a per content type basis. At this point it will take and store the attributes => values and when calling hook_preprocess_field() they can be returned (printed) so I can rest assured that they are indeed storing and relating correctly. The final part of the puzzle is to assign my twig template and insert my custom attributes. I thought that hook_theme() would do the job but so far I have failed and I can't find any suitable documentation on the subject when it comes to fields or image fields.

How do I tell Drupal to use my custom module's template when rendering an image that is linked?
Answering my own question. The solution was to use: hook_theme_registry_alter() 

/**
 * Implements hook_theme_registry_alter
 */
function MY_MODULE_theme_registry_alter(&amp;$theme_registry) {
  $theme_registry['image_formatter']['path'] = drupal_get_path('module', 'MY_MODULE') . '/templates/field';
}

In my module I have the templates/field directory with the template image-formatter.html.twig, so no other changes were necessary.