class_docstr: Implements k-center-greedy method.
  
  Args:
      embedding (Tensor): Embedding vector extracted from a CNN
      sampling_ratio (float): Ratio to choose coreset size from the embedding size.
  
  Example:
      >>> embedding.shape
      torch.Size([219520, 1536])
      >>> sampler = KCenterGreedy(embedding=embedding)
      >>> sampled_idxs = sampler.select_coreset_idxs()
      >>> coreset = embedding[sampled_idxs]
      >>> coreset.shape
      torch.Size([219, 1536])
class_docstr_tok: ["Implements","k-center-greedy","method",".","Args",":","embedding","(","Tensor",")",":","Embedding","vector","extracted","from","a","CNN","sampling_ratio","(","float",")",":","Ratio","to","choose","coreset","size","from","the","embedding","size",".","Example",":",">",">",">","embedding.shape","torch.Size","(","[","219520",",","1536","]",")",">",">",">","sampler","=","KCenterGreedy","(","embedding=embedding",")",">",">",">","sampled_idxs","=","sampler.select_coreset_idxs","(",")",">",">",">","coreset","=","embedding","[","sampled_idxs","]",">",">",">","coreset.shape","torch.Size","(","[","219",",","1536","]",")"]
docstr: Get index value of a sample.
  
  Based on minimum distance of the cluster
  
  Returns:
      int: Sample index
docstr_tok: ["Get","index","value","of","a","sample",".","Based","on","minimum","distance","of","the","cluster","Returns",":","int",":","Sample","index"]
code: def get_new_idx(self) -> int:
      """Get index value of a sample.
  
      Based on minimum distance of the cluster
  
      Returns:
          int: Sample index
      """
  
      if isinstance(self.min_distances, Tensor):
          idx = int(torch.argmax(self.min_distances).item())
      else:
          raise ValueError(
              f"self.min_distances must be of type Tensor. Got {type(self.min_distances)}"
          )
  
      return idx
  
file_path: anomalib/src/anomalib/models/components/sampling/k_center_greedy.py
imports: from __future__ import annotations
  import torch
  import torch.nn.functional
  from torch import Tensor
  from tqdm import tqdm
  from anomalib.models.components.dimensionality_reduction import SparseRandomProjection
label_desc: Use image node_id 4 for calling the KCenterGreedy obj's underlying member method code with example usage: obj.get_new_idx() and returns: idx