from pathlib import Path


def change_file_extensions_to_tif(each_file_dict: dict, file_extensions_to_protect_from_changing_to_tif: list) -> dict:
    """ Change all file extensions to tif except those defined to be protected."""
    for node_name in ['id', 'filePath', 'description', 'title']:
        if node_name in each_file_dict:
            node_value = each_file_dict[node_name]
            file_extension = Path(node_value).suffix
            if file_extension and '.' in file_extension and file_extension.lower() not in file_extensions_to_protect_from_changing_to_tif:
                each_file_dict[node_name] = node_value.replace(file_extension, '.tif')
    return each_file_dict