class_docstr: Apply logit transfor to a float RangeParameter domain.
  
  Transform is done in-place.
class_docstr_tok: ["Apply","logit","transfor","to","a","float","RangeParameter","domain",".","Transform","is","done","in-place","."]
code: def untransform_observation_features(
      self, observation_features: List[ObservationFeatures]
  ) -> List[ObservationFeatures]:
      for obsf in observation_features:
          for p_name in self.transform_parameters:
              if p_name in obsf.parameters:
                  param: float = obsf.parameters[
                      p_name
                  ]  # pyre-ignore [9]
                  obsf.parameters[p_name] = expit(param).item()
      return observation_features
  
file_path: Ax/ax/modelbridge/transforms/logit.py
imports: from typing import List, Optional, Set, TYPE_CHECKING
  from ax.core.observation import Observation, ObservationFeatures
  from ax.core.parameter import ParameterType, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.modelbridge.transforms.base import Transform
  from ax.models.types import TConfig
  from scipy.special import expit, logit
label_desc: Use image node_id 4 for calling the Logit obj's underlying member method code with example usage: obj.untransform_observation_features(observation_features) and returns: observation_features