rename grains to particle, add colormap adjust, table math
This commit is contained in:
@@ -10,6 +10,39 @@ from backend.node_registry import register_node
|
||||
from backend.data_types import DataField, datafield_to_uint8, encode_preview
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ColormapAdjust
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
@register_node(display_name="Colormap Adjust")
|
||||
class ColormapAdjust:
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
return {
|
||||
"required": {
|
||||
"field": ("DATA_FIELD",),
|
||||
"offset": ("FLOAT", {"default": 0.0, "min": -1.0, "max": 1.0, "step": 0.01}),
|
||||
"scale": ("FLOAT", {"default": 1.0, "min": 0.05, "max": 4.0, "step": 0.01}),
|
||||
"auto": ("BUTTON", {"label": "Auto", "set_widgets": {"offset": 0.0, "scale": 1.0}}),
|
||||
}
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("DATA_FIELD",)
|
||||
RETURN_NAMES = ("field",)
|
||||
FUNCTION = "process"
|
||||
CATEGORY = "modify"
|
||||
DESCRIPTION = (
|
||||
"Adjust how a DATA_FIELD maps into its colormap without changing the underlying data. "
|
||||
"offset and scale operate in normalized display coordinates; Auto resets to the full data range."
|
||||
)
|
||||
|
||||
def process(self, field: DataField, offset: float, scale: float) -> tuple:
|
||||
scale = float(scale)
|
||||
if not np.isfinite(scale) or scale <= 0.0:
|
||||
raise ValueError("Scale must be a positive number.")
|
||||
return (field.replace(display_offset=float(offset), display_scale=scale),)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# CropResizeField
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user