vkt1414 commited on
Commit
51b6d90
·
verified ·
1 Parent(s): 4976165

Update filter_data_app.py

Browse files
Files changed (1) hide show
  1. filter_data_app.py +28 -25
filter_data_app.py CHANGED
@@ -396,33 +396,36 @@ def main():
396
  if not filtered_df.is_empty():
397
  create_upset_plot_passes(filtered_df)
398
 
399
- def convert_df(df):
400
- sql=f'''
401
- SELECT
402
- DISTINCT
403
- PatientID,
404
- StudyInstanceUID,
405
- CT_SeriesInstanceUID,
406
- SEG_seriesInstanceUID,
407
- SeriesNumber,
408
- bodyPart,
409
- laterality,
410
- segmentation_completeness,
411
- laterality_check,
412
- volume_from_voxel_summation_check,
413
- connected_volumes,
414
- voxel_num,
415
- "{radiomics_feature}"
416
- FROM
417
- filtered_df
418
- JOIN
419
- map_df on filtered_df.CT_SeriesInstanceUID= map_df.Referenced_CT_SeriesInstanceUId
420
- '''
421
- df= duckdb.sql(sql).pl()
 
422
 
423
- return df.write_csv()
 
 
424
 
425
- csv= convert_df(filtered_df)
426
  st.sidebar.download_button(
427
  "Download the filtered dataset",
428
  csv,
 
396
  if not filtered_df.is_empty():
397
  create_upset_plot_passes(filtered_df)
398
 
399
+ def convert_df(filtered_df, map_df, radiomics_feature):
400
+ # Register Polars DataFrames as DuckDB views
401
+ duckdb.register("filtered_df", filtered_df.to_pandas())
402
+ duckdb.register("map_df", map_df.to_pandas())
403
+
404
+ sql = f'''
405
+ SELECT DISTINCT
406
+ f.PatientID,
407
+ f.StudyInstanceUID,
408
+ f.CT_SeriesInstanceUID,
409
+ m.seg_seriesInstanceUID,
410
+ f.SeriesNumber,
411
+ f.bodyPart,
412
+ f.laterality,
413
+ f.segmentation_completeness,
414
+ f.laterality_check,
415
+ f.volume_from_voxel_summation_check,
416
+ f.connected_volumes,
417
+ f.voxel_num,
418
+ f."{radiomics_feature}"
419
+ FROM filtered_df f
420
+ JOIN map_df m
421
+ ON f.CT_SeriesInstanceUID = m.Referenced_CT_SeriesInstanceUID
422
+ '''
423
 
424
+ df = duckdb.sql(sql).pl()
425
+ return df.write_csv()
426
+
427
 
428
+ csv = convert_df(filtered_df, map_df, radiomics_feature)
429
  st.sidebar.download_button(
430
  "Download the filtered dataset",
431
  csv,