flip.constants ============== .. py:module:: flip.constants .. autoapi-nested-parse:: FLIP Constants module containing configuration and enumerations. Exports: - FlipConstants: Environment-aware configuration singleton - DevSettings: Development environment settings - ProdSettings: Production environment settings - ResourceType: Enum for imaging resource types (DICOM, NIFTI, etc.) - ModelStatus: Enum for model training status - FlipEvents: Event name constants - FlipTasks: Task name constants - FlipMetaKey: Metadata key constants - FlipMetricsLabel: Metrics label constants - PTConstants: PyTorch-related constants - JobType: Enum for FLIP job types Submodules ---------- .. toctree:: :maxdepth: 1 /autoapi/flip/constants/flip_constants/index /autoapi/flip/constants/job_types/index /autoapi/flip/constants/pt_constants/index Attributes ---------- .. autoapisummary:: flip.constants.FlipConstants Classes ------- .. autoapisummary:: flip.constants.DevSettings flip.constants.FlipEvents flip.constants.FlipMetaKey flip.constants.FlipMetricsLabel flip.constants.FlipProps flip.constants.FlipTasks flip.constants.ModelStatus flip.constants.ProdSettings flip.constants.ResourceType flip.constants.JobType flip.constants.PTConstants Package Contents ---------------- .. py:class:: DevSettings Bases: :py:obj:`_Common` Development environment configuration. Used when LOCAL_DEV=true. Requires local paths for test data. .. py:attribute:: LOCAL_DEV :type: bool :value: True .. py:attribute:: DEV_DATAFRAME :type: str :value: '' .. py:attribute:: DEV_IMAGES_DIR :type: str :value: '' .. py:data:: FlipConstants .. py:class:: FlipEvents Event names used in FLIP workflows. Note: This is a class with class attributes rather than an Enum because NVFLARE events are string constants. .. py:attribute:: TRAINING_INITIATED :value: '_training_initiated' .. py:attribute:: RESULTS_UPLOAD_STARTED :value: '_results_upload_started' .. py:attribute:: RESULTS_UPLOAD_COMPLETED :value: '_results_upload_completed' .. py:attribute:: SEND_RESULT :value: '_send_result' .. py:attribute:: LOG_EXCEPTION :value: '_log_exception' .. py:attribute:: ABORTED :value: '_aborted' .. py:attribute:: TASK_INITIATED :value: '_task_initiated' .. py:class:: FlipMetaKey Bases: :py:obj:`enum.StrEnum` Metadata keys FLIP components attach to DXO meta. .. py:attribute:: STAGE :value: 'stage' .. py:attribute:: EVAL_MODEL_NAME :value: 'flip_eval_model_name' .. py:class:: FlipMetricsLabel Bases: :py:obj:`enum.StrEnum` Standard metric labels for FLIP metrics reporting. .. py:attribute:: LOSS_FUNCTION :value: 'LOSS_FUNCTION' .. py:attribute:: DL_RESULT :value: 'DL_RESULT' .. py:attribute:: AVERAGE_SCORE :value: 'AVERAGE_SCORE' .. py:class:: FlipProps fl_ctx property names FLIP components use to share round telemetry. Set (sticky, so they survive across NVFLARE contexts) by the FLIP ScatterAndGather controller as client results are accepted; read by ServerEventHandler when relaying ROUND_DONE to the hub as a ROUND_AGGREGATED event. .. py:attribute:: ROUND_RETURNED :value: '_flip_round_returned' .. py:attribute:: ROUND_EXPECTED :value: '_flip_round_expected' .. py:class:: FlipTasks Bases: :py:obj:`enum.StrEnum` Task names used in FLIP workflows. .. py:attribute:: INIT_TRAINING :value: 'init_training' .. py:attribute:: POST_VALIDATION :value: 'post_validation' .. py:attribute:: CLEANUP :value: 'cleanup' .. py:attribute:: INIT_TASK :value: 'init_task' .. py:attribute:: POST_TASK :value: 'post_task' .. py:class:: ModelStatus Bases: :py:obj:`enum.StrEnum` Model job status values. .. py:attribute:: PENDING :value: 'PENDING' .. py:attribute:: INITIATED :value: 'INITIATED' .. py:attribute:: PREPARED :value: 'PREPARED' .. py:attribute:: RUNNING :value: 'RUNNING' .. py:attribute:: RESULTS_UPLOADED :value: 'RESULTS_UPLOADED' .. py:attribute:: ERROR :value: 'ERROR' .. py:attribute:: STOPPED :value: 'STOPPED' .. py:attribute:: RESULTS_UPLOAD_FAILED :value: 'RESULTS_UPLOAD_FAILED' .. py:class:: ProdSettings Bases: :py:obj:`_Common` Production environment configuration. Used when LOCAL_DEV=false. Settings are grouped by which FL role uses them: - **Server-only** (fl-server on Central Hub): FLIP_API_INTERNAL_URL, INTERNAL_SERVICE_KEY* - **Client-only** (fl-client on trust side): DATA_ACCESS_API_URL, IMAGING_API_URL, TRUST_INTERNAL_SERVICE_KEY* - **Shared**: IMAGES_DIR, NET_ID, UPLOADED_FEDERATED_DATA_BUCKET .. py:attribute:: LOCAL_DEV :type: bool :value: False .. py:attribute:: FLIP_API_INTERNAL_URL :type: pydantic.HttpUrl :value: 'http://localhost:8000' .. py:attribute:: INTERNAL_SERVICE_KEY_HEADER :type: str :value: 'X-Internal-Service-Key' .. py:attribute:: INTERNAL_SERVICE_KEY :type: str :value: '' .. py:attribute:: SERVER_CHECKPOINT_ROOT :type: str :value: '/app/server-checkpoints' .. py:attribute:: DATA_ACCESS_API_URL :type: pydantic.HttpUrl :value: 'http://localhost:8001' .. py:attribute:: IMAGING_API_URL :type: pydantic.HttpUrl :value: 'http://localhost:8002' .. py:attribute:: TRUST_INTERNAL_SERVICE_KEY_HEADER :type: str :value: 'X-Trust-Internal-Service-Key' .. py:attribute:: TRUST_INTERNAL_SERVICE_KEY :type: str :value: '' .. py:attribute:: IMAGES_DIR :type: str :value: '' .. py:attribute:: NET_ID :type: str :value: 'default' .. py:attribute:: UPLOADED_FEDERATED_DATA_BUCKET :type: str :value: 's3://default-bucket' .. py:method:: _validate_s3_url(v: str) -> str :classmethod: .. py:class:: ResourceType Bases: :py:obj:`enum.StrEnum` Types of imaging resources available in XNAT. .. py:attribute:: DICOM :value: 'DICOM' .. py:attribute:: NIFTI :value: 'NIFTI' .. py:attribute:: SEGMENTATION :value: 'SEG' .. py:attribute:: ALL :value: 'ALL' .. py:class:: JobType Bases: :py:obj:`enum.StrEnum` Enumeration of supported FLIP job types. .. py:attribute:: STANDARD :value: 'standard' .. py:attribute:: EVALUATION :value: 'evaluation' .. py:attribute:: FED_OPT :value: 'fed_opt' .. py:attribute:: DIFFUSION :value: 'diffusion_model' .. py:class:: PTConstants Constants for PyTorch model handling in federated learning. .. py:attribute:: PTServerName :value: 'server' .. py:attribute:: PTModelName :value: 'model.pt' .. py:attribute:: PTFileModelName :value: 'FL_global_model.pt' .. py:attribute:: PTLocalModelName :value: 'local_model.pt' .. py:attribute:: PTModelsDir :value: 'models' .. py:attribute:: CrossValResultsJsonFilename :value: 'cross_val_results.json' .. py:attribute:: EvalResultsFilename :value: 'evaluation_results.json' .. py:attribute:: EvalFailuresFilename :value: 'evaluation_failures.json' .. py:attribute:: EvalDir :value: 'evaluation_results' .. py:attribute:: EvalTaskName :value: 'evaluation'