class_docstr: Component to perform the perceptual evaluation with the networks pretrained by Chen, et al. "Med3D: Transfer
  Learning for 3D Medical Image Analysis". This class uses torch Hub to download the networks from
  "Warvito/MedicalNet-models".
  
  Args:
      net: {``"medicalnet_resnet10_23datasets"``, ``"medicalnet_resnet50_23datasets"``}
          Specifies the network architecture to use. Defaults to ``"medicalnet_resnet10_23datasets"``.
      verbose: if false, mute messages from torch Hub load function.
docstr: Compute perceptual loss using MedicalNet 3D networks. The input and target tensors are inputted in the
  pre-trained MedicalNet that is used for feature extraction. Then, these extracted features are normalised across
  the channels. Finally, we compute the difference between the input and target features and calculate the mean
  value from the spatial dimensions to obtain the perceptual loss.
  
  Args:
      input: 3D input tensor with shape BCDHW.
      target: 3D target tensor with shape BCDHW.
docstr_tok: ["Compute","perceptual","loss","using","MedicalNet","3D","networks",".","The","input","and","target","tensors","are","inputted","in","the","pre-trained","MedicalNet","that","is","used","for","feature","extraction",".","Then",",","these","extracted","features","are","normalised","across","the","channels",".","Finally",",","we","compute","the","difference","between","the","input","and","target","features","and","calculate","the","mean","value","from","the","spatial","dimensions","to","obtain","the","perceptual","loss",".","Args",":","input",":","3D","input","tensor","with","shape","BCDHW",".","target",":","3D","target","tensor","with","shape","BCDHW","."]
code: def forward(
      self, input: torch.Tensor, target: torch.Tensor
  ) -> torch.Tensor:
      """
      Compute perceptual loss using MedicalNet 3D networks. The input and target tensors are inputted in the
      pre-trained MedicalNet that is used for feature extraction. Then, these extracted features are normalised across
      the channels. Finally, we compute the difference between the input and target features and calculate the mean
      value from the spatial dimensions to obtain the perceptual loss.
  
      Args:
          input: 3D input tensor with shape BCDHW.
          target: 3D target tensor with shape BCDHW.
      """
      input = medicalnet_intensity_normalisation(input)
      target = medicalnet_intensity_normalisation(target)
  
      # Get model outputs
      outs_input = self.model.forward(input)
      outs_target = self.model.forward(target)
  
      # Normalise through the channels
      feats_input = normalize_tensor(outs_input)
      feats_target = normalize_tensor(outs_target)
  
      results: torch.Tensor = (feats_input - feats_target) ** 2
      results = spatial_average_3d(
          results.sum(dim=1, keepdim=True), keepdim=True
      )
  
      return results
  
imports: from __future__ import annotations
  import warnings
  import torch
  import torch.nn
  from monai.utils import optional_import
  from monai.utils.enums import StrEnum
label_desc: Use image node_id 2 for calling the MedicalNetPerceptualSimilarity obj's underlying member method code with example usage: obj.forward(input, target) and returns: results