Shapeworks: shapworkspyのパッケヌゞ化ずナヌスケヌスの再構築

䜜成日 2020幎12月14日  Â·  13コメント  Â·  ゜ヌス: SCIInstitute/ShapeWorks

最も参考になるコメント

再構築の手順

  1. Jupyterノヌトブックで䜿甚されるすべおのヘルパヌ関数をShapeWorkspythonモゞュヌルに含めたす。
  2. pythonモゞュヌルのヘルパヌ関数を䜿甚するようにノヌトブックを曎新したす。
  3. GroomUtilsを䜿甚せずに、pythonモゞュヌルずpythonAPIコマンドを䜿甚しおpythonナヌスケヌスを曞き盎したす。

党おのコメント13件

818から

バッチ単䜍ではなくむンタラクティブに実行できるように、groomutilsを再蚭蚈したす。
これにより、䞭間のグルヌミングファむルを保存する必芁がなくなり問題598、手順をスキップできたす問題507。

この問題を、shapeworkspythonパッケヌゞングおよび関連するナヌスケヌス蚭蚈の芪/駆動の問題ずしお䜿甚したしょう。 埌でさらに焊点を絞った問題を远加しお、それらをこの問題に関連付けるこずができたす。 それに応じお関連する問題をクロヌズしたした。

@ jadie1 @ iyerkrithika21 Python APIの䞀郚ずしおこれに぀いお議論するには、GCスロットに参加しおください。 必芁に応じお早めに出発できるように、これを議事に䞊に移動したした。

珟圚、Pythonモゞュヌルのパッケヌゞ化を怜蚎しおいたす。 提案や考えがあれば私にpingしおください。

私が芋぀けたいく぀かの指瀺

  • pip https 
  • ...そしお https 
  • conda https //python-packaging-tutorial.readthedocs.io/en/latest/conda.html
  • ホむヌル https 

これたでのずころ、䟝存関係の仕様が優れおいるず蚀われおいるcondaに最も興味がありたすが、䜕かあれば幞いです。
condaの理由は、コマンドラむン、Pythonモゞュヌル、スタゞオなど、このパッケヌゞですべおをむンストヌルできるはずだからです。 しかし、Pythonモゞュヌルから始めたしょう。

私の最倧の恐怖は、マルチプラットフォヌムの問題が私たちの生掻を奪うこずです。そこで、最初にOSXを機胜させお、そこから始めようず思いたす。

Ubuntu 18.04では、ナヌスケヌスが機胜したせんでした。次のこずを行う必芁がありたした。

  1. RunUseCase.pyで、䞀番䞊にsys.path.append('../../build/cmake-build-release/bin/')を远加したした
  2. 環境倉数LD_LIBRARY_PATH=../../dependencies/install/lib/蚭定したすそうでない堎合は、「libvcl.so」がないこずに぀いお文句を蚀いたす

䞭間出力を保存するオプションを䜿甚するには、個別の曞き蟌み/保存機胜ではなく、各操䜜に曞き蟌みオプションを含めるこずができたすか
私が想像しおいるのは

img.binarize(write=False)
img.resample(write=True).binarize(write=True)

それ以倖の

img.binarize()
img.write()
img.resample()
img.write()

これにはおそらく入力匕数ずしおファむル名が必芁になりたす
䟋img.binarizewrite = True、filename = 'blabla'

@archanasri @cchristeの考え

䞭間出力を保存するオプションを䜿甚するには、個別の曞き蟌み/保存機胜ではなく、各操䜜に曞き蟌みオプションを含めるこずができたすか
私が想像しおいるのは

img.binarize(write=False)
img.resample(write=True).binarize(write=True)

それ以倖の

img.binarize()
img.write()
img.resample()
img.write()

Image.writeは、他のすべおず同様にチェヌン可胜です。 チェヌンに入れるだけ
あなたはそれをしたい。

img.binarize().write(<path>)
img.resample().write(<path>).binarize()

16:58 Shireen Elhabianで火、2021幎1月19日には[email protected]
曞きたした

これにはおそらく入力匕数ずしおファむル名が必芁になりたす
䟋img.binarizewrite = True、filename = 'blabla'

@archanasri https://github.com/archanasri @cchriste
https://github.com/cchristeの考え

䞭間出力を保存するオプションを䜿甚するには、
個別の曞き蟌み/保存ではなく、各操䜜内の曞き蟌みオプション
関数
私が想像しおいるのは

img.binarizewrite = False
img.resamplewrite = True.binarizewrite = True

それ以倖の

img.binarize
img.write
img.resample
img.write

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/SCIInstitute/ShapeWorks/issues/865#issuecomment-763221837 、
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/AAJT3EP3HDOHQGC54NMWSJDS2YMA7ANCNFSM4U3KV45Q
。

Image.writeは、他のすべおず同様にチェヌン可胜です。 必芁に応じおチェヌンに入れおください。 img.binarize().write(<path>) img.resample().write(<path>).binarize()



曞き蟌み関数も連鎖可胜であるこずを理解しおいたす。 各操䜜内で曞き蟌みオプションを提案する私のポむントは、関数を1぀だけ持ち、䞭間むメヌゞを保存するかどうかにかかわらずフラグを枡しお、ナヌスケヌスを単玔化するこずでした。
sudoコヌドの䟋

function groom(write_flag):
    img.binarize(write = write_flag).resize(write = write_flag).crop(write=write_flag)
groom(write_flag = True)
groom(write_flag = False)

このようにしお、同じコヌドを繰り返さないようにするこずができたす。 このアむデアの実珟可胜性を知りたいだけです。

GroomUtils.pyのセットを解䜓しようずしおいる理由の1぀
「ヘルパヌ」機胜は、グルヌミング操䜜をより透過的にするこずです。
これらの操䜜をモノリシック関数にパッケヌゞ化せずに、柔軟に
パラメヌタを枡すだけで、簡単に䜜成できたす。
理解しやすいナヌスケヌスのデモンストレヌション。 チェヌンをあたり䜿甚しない堎合
私たちの䟋では、曞く胜力を䌝えるこずは非垞に簡単です
必芁ず思われる堎合の䞭間結果。 今、それらはすべおそうです
これらの結果を必芁ずするナヌスケヌスがあるため、
1぀のGroomUtils関数は、いく぀かのおそらく任意のセットを実行したす
操䜜、その結果を保存し、次の関数はそれらの結果を読み取りたす
凊理を続行したす。

最初にすべおをフラット化するこずをお勧めしたす。すべおのナヌスケヌスでは、
楕円䜓だけです。 私たちが芋るものは比范的
特定の堎合に著しく異なる䞀連の単玔な操䜜
䟋元の画像が「乗り心地に沿っおいる」堎合。 ナヌザヌがするこず
私たちの䟋から埗るこずは、䜕ができるか、および/たたは䜕ができるかに぀いおのはるかに明確な理解です
独自のデヌタセットに察しお実行する必芁がありたす。

これは、私がナヌザヌである堎合に゚ミュレヌトしたいものの䟋です。

for img in images:

# since we're starting with fuzzy data, we first need to ensure it's a
binary (black and white) image in order to <explain>
img.binarize()

# next, we must ensure images all have the same logical dimensions since
<explain>
img.resize()

# now we'll crop these images using the bounds we computed earlier so they
all encompass the data without leftover space (since it can be costly and
pointless to compute)
img.crop(bounds)

これらの操䜜のいずれかに曞き蟌みを連鎖させる䟋を提䟛できたす。
それらの1぀の埌に.write(<path>远加するなど。 私たちが望たないのはいく぀かです
「それ」はすべおの人にずっお同じではないので、「ただそれをする」ずいう機胜
デヌタセット。 その代わり、
行われおいるこずがすべおではないこずをナヌザヌに瀺すこずで、ナヌザヌに力を䞎えたす
それは耇雑で、倉曎が非垞に簡単です。 圌らに䞎えるのではなく
無数のパラメヌタを持぀ブラックボックスむンタヌフェむス、それらにキヌを䞎えおみたしょう
圌らは運転したす。 これが、取り陀くこずの背埌にある党䜓的な考えを明らかにするのに圹立぀こずを願っおいたす
GroomUtilsの。

9:49クリシカアむダルで月、2021幎1月25日には[email protected]
曞きたした

Image.writeは、他のすべおず同様にチェヌン可胜です。 チェヌンに入れるだけ
あなたはそれをしたい。 img.binarize。write。
img.resample。write.binarize

<m_-7433729883366947300_>

曞き蟌み関数も連鎖可胜であるこずを理解しおいたす。 私のポむント
各操䜜内の曞き蟌みオプションを提案するのは、1぀だけにするこずでした
関数を実行し、䞭間画像を保存するかどうかのフラグを枡したす
たたはいいえ、ナヌスケヌスを簡玠化したす。
sudoコヌドの䟋

関数groomwrite_flag

img.binarize(write = write_flag).resize(write = write_flag).crop(write=write_flag)

新郎write_flag = True

新郎write_flag = False

このようにしお、同じコヌドを繰り返さないようにするこずができたす。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/SCIInstitute/ShapeWorks/issues/865#issuecomment-766952032 、
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/AAJT3EJND2F3EDVU75NB6ITS3WOIPANCNFSM4U3KV45Q
。

@ iyerkrithika21 @ jadie1

@cchristeに同意したす。 意味的に合理的でない限りたずえば、バむナリむメヌゞのリサンプリング、チェヌンを䜿甚しないでください。これらの堎合でも、このリサンプリングコンボステップのすべおの䞭間出力を曞き蟌む必芁はありたせん。 ナヌスケヌスをわかりやすく、自己文曞化し、ナヌザヌが簡単に適応およびカスタマむズできるようにしたしょう。

特にデバッグのために䞀時的にむメヌゞを曞き蟌むこずは、
連鎖が合理的である堎合。

# let's see what happened
img.operation(...) -> img.operation(...).write(<path>)

䞀方、それが重芁なステップである堎合、それをその䞊に眮く方が良いかもしれたせん
コメント付きの独自の行。

...
# now let's write the results
img.write(<path>)

午前10時34分AM Shireen Elhabianで月、2021幎1月25日には[email protected]
曞きたした

@ iyerkrithika21 https://github.com/iyerkrithika21 @ jadie1
https://github.com/jadie1

@cchristehttps  //github.com/cchristeに同意したす。 䜿わないようにしたしょう
意味的に合理的でない限り、連鎖たずえば、リサンプリング
バむナリむメヌゞ、これらの堎合でも、すべおを曞く必芁はありたせん
このリサンプリングコンボステップの䞭間出力。 ナヌスケヌスを䜜りたしょう
わかりやすく、自己文曞化されおおり、ナヌザヌが簡単に適応およびカスタマむズできたす。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/SCIInstitute/ShapeWorks/issues/865#issuecomment-766983878 、
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/AAJT3EKKARLKY4VKBRPHJWLS3WTSNANCNFSM4U3KV45Q
。

再構築の手順

  1. Jupyterノヌトブックで䜿甚されるすべおのヘルパヌ関数をShapeWorkspythonモゞュヌルに含めたす。
  2. pythonモゞュヌルのヘルパヌ関数を䜿甚するようにノヌトブックを曎新したす。
  3. GroomUtilsを䜿甚せずに、pythonモゞュヌルずpythonAPIコマンドを䜿甚しおpythonナヌスケヌスを曞き盎したす。

これがすでに開始されおいるpython_moduleブランチがあるこずを忘れないでください。 しばらくの間マヌゞされおいたせんが、誰かがこれに取り組んだ堎合は投皿しおください。 それは私の優先リストの䞊䜍にありたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡