日記:gemini apiでpngファイルから表の内容をmarkdownで抽出する
レート制限が厳しいらしいので課金しました。リトライ含めて画像150枚くらいで230円、結構高いので大量に処理するときは工夫が必要そう。
続きを読む日記:過去の出題内容の表があるページのpngファイルを集める
多分こんな感じだった。だいたいgeminiがやりました。
$ for f in *.pdf; do /path/to/pdftoppm.exe -png "$f" "${f%.*}"; done
$ echo << EOF
import sys
import os
from pathlib import Path
from docling.datamodel.base_models import InputFormat
from docling.document_converter import DocumentConverter
def main():
# 引数のチェック
if len(sys.argv) < 2:
print("Usage: python convert.py input.png")
sys.exit(1)
input_path_str = sys.argv[1]
input_path = Path(input_path_str)
# ファイルの存在確認
if not input_path.exists():
print(f"Error: File {input_path_str} not found.")
sys.exit(1)
# 変換の設定
converter = DocumentConverter()
print(f"Converting {input_path.name} to Markdown...")
try:
# 画像ファイルを変換
result = converter.convert(input_path)
# Markdown形式のテキストを抽出
md_output = result.document.export_to_markdown()
# 出力ファイル名の決定 (input.png -> input.md)
output_path = input_path.with_suffix(".md")
# ファイルの書き出し
with open(output_path, "w", encoding="utf-8") as f:
f.write(md_output)
print(f"Successfully converted: {output_path}")
except Exception as e:
print(f"An error occurred: {e}")
if __name__ == "__main__":
main()
EOF
$ for f in */png; do python convert.py $f; done
$ for f in *.md; do sed -i y/0123456789/0123456789/ $f ; done
$ find ./ -type f -name "*.md" \
| xargs grep -l '|-' \
| xargs grep -lE '表.*型' \
| xargs grep -lE '\-[0-9].*\|\s*[0-9]\.[0-9][0-9]\s*\|\s*$' \
| sed 's/\.md$/.png/' \
| xargs -I{} basename {} \
| xargs -I{} cp ../../png/{} ../table/
日記:病理専門医試験報告を全部集める
- https://pathology.or.jp/senmoni/testReport.html と https://pathology.or.jp/side/bulletin.html から病理学会の会報をpdfリンクを得る
cat list.txt | xargs -n 1 -P ● curl -O- marker-pdfをインストール、動かない
- popplerをインストールpdftotextでtxtファイルに変換
$ for f in *.pdf; do pdftotext.exe "$f"; done - 「病理専門医試験報告」の記載があるファイルを抽出
$ find ./ -type f -print | xargs grep 病理専門医試験報告| sed 's/:.*$//'| uniq | sed 's/\.\///'| sed 's/txt/pdf/'| xargs -I {} mv {} 病理専門医試験報告/
懺悔
先日専門医試験を受けてきました。結果はまだ出ていませんが、偶然受かっているか当然落ちているかの2択です。何がまずかったか、自分以外に関する要因は考えても仕方がないので、自分を振り返っても、結局基本的な知識がきちんと積み上げられていないことに尽きると思いました。他大の方と勉強会をさせてもらう機会があり、比べると同世代とは思えない知識量の差があります。
追記:不合格でした。受かれば自分は助かりましたが、患者が助からないので妥当な結果です。
追記2:前々から切り出しの遅さが全体の流れを歪めていて、結果時間不足、勉強不足という感があり、早く終わる方法を考える必要があります。(そして技師の皆様の足手まといにもなる)
DCISの診断
非浸潤性乳管癌の低異形度なものの診断は基準がよく分からなくていつも困ります。大腸の腺腫や癌の診断も困ります。類内膜癌も困りますが、こちらはエキスパートの方が線引きマターだと述べられているのも見ました。問題は乳腺は切除するには(たぶん)全身麻酔が必要で、患者の希望によっては全摘もありえることです。知らんがなと雑に診断すると他人様に迷惑をかける酷い結果が待っています。困って調べものをしては徒労に終わるのをn回繰り返しており、現状誰にも客観的な線引きが出来ないのだろうと思います。ところで今日面白げなhttps://www.nature.com/articles/s41698-024-00769-6 論文を発見しました。以下少しずつ読んで内容を追記していきます (現状白紙です)。
続きを読む組織をトリミングするのに便利な板
パラフィンブロックを作るためのカセット (28×41×6 mm *1 ) に収まるように、3-5 mm 程度 *2 に検体を切り出す作業がある。自分は下手くそである。ホームセンターで便利な道具を探して彷徨っていたところ、ライズプレートとかいうプラスチックの板を発見した。2週間くらい使ってみて当社比では大ヒットしている。これで検体を挟んでナイフでシュッとやると見たい面を削ぐこともなくいい感じになる。胃などの最初の厚さ調整に失敗するとつらい検体も修正可能である。2 x 80 x 40 mm (小さい足を含め3 mmくらい) のものを使っていたが少し小さく、ナイフと手が干渉してゴム手袋を破ってしまう問題があり、3 x 140 x 70 mmの大き目のもの *3 を追加で買ってきた。2 mm厚でこのサイズだと板が薄く撓んだため3 mmのものを選んだ。足がある裏面を上に向けて使おうと思ったが、足以外にもほんの少し突起があったのでミニルーターで削り取った。自分はコーナン2店舗回ったのだけれど、1店舗では上の面が網目になっていて組織を置きにくいものしかなかったり、店舗により取扱商品が異なるかもしれない。店頭だと1枚単位で売っていて、70円/枚くらいだったと思う。
器用な人はまな板の上に置いた組織を上からガーゼで押さえて横からシュッとナイフで切るだけで作業が終了する。ガイド不要である。失敗すると厳しいのでかなり神経質になって無限の時間を溶かす無能な人は僕以外にもいると思う。最近上手くいっているような気がしているので無能ながら得意げに共有して新しい黒歴史を作るのである。なお薄く切るのが多少早くなってもあちこち遅いので切り出しが遅い問題は全然解決していない…
追記 (2023/07/12) 刃渡りと比較して大きすぎたため、小型のトリミングナイフでの作業では使いにくい
仕事の遅さについて
(追記1: 文章が長いというのは思考が迂遠になっている傍証っぽい)
(追記2: 下書き業務の記録を見ていると、比較的簡単とされる大腸ポリープの診断とかでも人より遅いらしく、知識不足以外に単に遅いという面もあるらしい)
2ヶ月以上経過して、とにかく診断が付けられなくて無限に時間を溶かす人になっている。自分の能力は有限で未熟な上に、生物は例外が山ほどあるので達人でもきっと完璧な仕事というのは存在しないと思う。といっても常識的な範囲は必ずあって、例えば今の時点だと誤字脱字をしない、単位を間違えない、左右を間違えない、標本を取り違えない、検体をなくさない、やらかしたら隠蔽せず相談して怒られる、みたいなことは満たさないといけなくて、ただそれすら出来ずに呆れられる、みたいな日もある。さて、診断の遅さについて、同じ能力と労力でもマシな結果を出すには疲れていないとか、無理な労働をしないというのがあって、特に真夜中に一日の疲れを引っ張りながら仕事をするのを止めろ、という主張があって、まだ朝のほうが寝ている分マシだと思ったりする。その上で、なぜ仕事が遅いかというと、単に知識がないのである。前の半年は随分無知を指摘されて、標本を見るより教科書を隅から隅まで読むように言い渡されたりしていた。僕は読むのが速くないので数個の臓器しかカバーできなかったのだけれど、そういう臓器だと頭が真っ白になってフリーズするということはあまりなくて、再現性よく間違えるということが出来る。例えば先日は前立腺のグリソンスコア3+3の部分をすべて見落とした一方で3+4の範囲はほぼ拾えた(単に後者のほうが簡単というのはある)、逆に今日は4時間かかって膵癌の範囲のマッピングをたった1人分終わらせることも出来なかった。頭を使わないというのは異常なことが起こっているときに取り返しが付かないが、全てにおいて頭を使ったり観察したりというのは、先人の成果を知らないからでしかない。今の課題は仕事が遅すぎて整理された知識のある範囲が増えていかないことで、なにがしが上手く振る舞う必要があるのだと思う。例えば早い段階で周りの先生に泣きつくなど…ただ泣きつくにも会話が成立する程度の知識は必要で、そこにすら達していない臓器もある。
