CyberChaos(さいばかおす)

プログラミング言語、トランスパイラ、RPA、ChatGPT、データマイニング、リバースエンジニアリングのための忘備録

ChatGPTにIDL言語をC言語に変換してもらった結果www

2023-10-29 08:00:21 | C / Visual C++
interactive data languageをc言語に変換する方法、interactive data languageをc言語に変換するトランスパイラがあるなら教えて。

Interactive Data Language(IDL)をC言語に変換するトランスパイラは一般的には存在しません。IDLとC言語は異なるプログラミング言語であり、IDLは科学データ処理や可視化向けに設計された言語で、C言語は一般的なプログラム開発向けに設計されています。そのため、IDLコードをC言語に変換するためには手作業でコードを書き直す必要があります。

IDLからC言語への変換は、IDLの特定の機能やライブラリに依存しており、自動化は難しいことがあります。変換プロセスはIDLコードを理解し、それをC言語で再実装することを意味します。

IDLコードをC言語に変換する場合、IDLコードの機能とアルゴリズムを理解し、手動でC言語コードに移植する必要があります。また、IDLのライブラリやツールがC言語で使用可能か確認する必要もあります。

変換プロセスを容易にするために、IDLからC言語への変換ツールは提供されていないかもしれませんが、IDLからC言語への移植に関するドキュメンテーションやリソースが存在するかもしれません。IDLの公式ドキュメンテーションやユーザーコミュニティで質問をすることをお勧めします。→ウソつきじゃんwww


1:  pro white_or_black, xsize, ysize
2:  file=dialog_pickfile(filter='*.tif')
3:  data=read_tiff(file)  
4:  x=0
5:  y=0
6:  repeat begin
7:  if( data(x,y) gt 127) then begin
8:  data(x,y)=254
9:  endif else begin
10: data(x,y)=0
11: endelse
12: x=x+1
13: if(x gt xsize-1) then begin
14: x=0
15: y=y+1
16: endif
17: endrep until (y gt ysize-1)
18: output=dialog_pickfile(/write)
19: write_tiff,output,data
20: end

上記はIDL言語で書かれたソースコードである。これをC言語に変換して。

ChatGPT

IDLコードをC言語に変換することはできます。以下にIDLコードをC言語に変換したものを示します。ただし、このコードは簡略化されており、完全なエラーハンドリングやメモリ管理を考慮していませんので、実際のアプリケーションに適用する際には改良が必要かもしれません。

#include <stdio.h>
#include <stdlib.h>

// Function to read a TIFF file
void read_tiff(const char* filename, int** data, int* xsize, int* ysize) {
// Implement the code to read a TIFF file into 'data' and set 'xsize' and 'ysize'
}

// Function to write a TIFF file
void write_tiff(const char* filename, int** data, int xsize, int ysize) {
// Implement the code to write 'data' to a TIFF file with the given 'filename'
}

int main() {
const char* file = "input.tif";
int** data;
int xsize, ysize;

read_tiff(file, &data, &xsize, &ysize);

int x = 0;
int y = 0;

while (y <= ysize - 1) {
if (data[x][y] > 127) {
data[x][y] = 254;
} else {
data[x][y] = 0;
}

x++;

if (x > xsize - 1) {
x = 0;
y++;
}
}

const char* output = "output.tif";
write_tiff(output, data, xsize, ysize);

// Free memory allocated for data (not shown in the code)
return 0;
}


このC言語のコードはIDLコードを基にしており、read_tiffとwrite_tiff関数がTIFFファイルの読み込みと書き込みを行います。データは2次元の整数配列として表現されています。また、メモリ管理とエラーハンドリングを実装することも重要ですが、このコードは基本的な変換の例として参考になるでしょう。

※ついでにC#に変換してもらった。
using System;
using System.Drawing;
using System.Drawing.Imaging;

class Program
{
static void Main()
{
string inputFilePath = "input.tif";
string outputFilePath = "output.tif";
Bitmap image = new Bitmap(inputFilePath);
int xsize = image.Width;
int ysize = image.Height;

for (int y = 0; y < ysize; y++)
{
for (int x = 0; x < xsize; x++)
{
Color pixel = image.GetPixel(x, y);
if (pixel.R > 127)
{
image.SetPixel(x, y, Color.FromArgb(254, 254, 254));
}
else
{
image.SetPixel(x, y, Color.FromArgb(0, 0, 0));
}
}
}

image.Save(outputFilePath, ImageFormat.Tiff);
image.Dispose();
}
}

→やればできるじゃんwww
エラーが出るかどうかは別としてwww




カシミール3D、スーパー地形、IDL言語

2023-10-29 02:44:02 | アイデア起業・アイデア売買

スーパー地形 - GPS対応地形図アプリ - Apps on Google Play

スーパー地形 - GPS対応地形図アプリ - Apps on Google Play

More than 100 types of maps can be used, including the Geographical Survey Institute map. It can be used to maximize the height difference from mountain climbing...



Androidスマホで地形図や等高線が見れるアプリ。

富士山の地形図・等高線も此の様に見事に描かれた。

鳥瞰図を描くのに応用できないだろうか?
さらに点群データに変換したり、点群データを取得してCivil3Dと連携できないだろうか?

IDLと3次元画像処理入門―パソコンで作れる鳥瞰図 https://amzn.asia/d/egyozbU
をAmazonで買った。

IDLというレアな言語で鳥瞰図を描く方法が紹介されている。

PythonとかC++とかメジャーな言語で書いて欲しかった。

ちなみにC++で鳥瞰図を描く方法をググってみたが、出てこなかった。

それならば、ChatGPT大先生に頼んでIDL言語からC++言語に書き換えてもらおうかと?
C#に書き換えることができれば、AutocadやCivil3Dとの連携またはプラグイン作成にもつながるかもしれない。

WebAssemblyについてのQ and A

2023-10-26 01:05:08 | WebAssembly

WebAssemblyで何ができますか?

WebAssembly は、他の言語からコンパイルしたポータブルなバイトコード形式であり、最大のパフォーマンスを実現できます。 デベロッパーが WebAssembly を活用すると、別のプラットフォームのライブラリや機能をウェブに移植できます。 再実装は一切必要なく、高いパフォーマンスを発揮します。

WebAssemblyのメリットは何ですか?

WebAssemblyの最大のメリットは、WebブラウザでJavaScriptが担っていた処理の高速化が可能な点にあるでしょう。 JavaScriptとのベンチマーク検証を行ったところ、WebAssemblyの方が5倍以上高速に動作したというケースもあるほどです。

WebAssemblyのデメリットは?

WebAssemblyを使用することで、以下のようなデメリットもあります。


JavaScriptよりも低レベルな言語であるため、学習コストが高い


従来のWebアプリケーションよりも高速化が難しい場合がある


まだ一部のブラウザにしか対応していないため、普及には時間がかかる

WebAssembly なぜ早い?

WebAssemblyはJavaScriptに比べて機械コードに近く、サーバ側での最適化がすでに行われているため、コンパイルと最適化の所要時間がJavaScriptより短い。

WebAssemblyでできないことは?

Wasm自体はただの計算しか行うことができず、外のファイルを勝手に書き換えたりといった副作用を起こすことはできません。 また、ブラウザで動かす限りWasmがインポートできるものはJavaScriptで書けるもののみなので、結局WasmはJSにできる以上のことはできないということになります。

Webアプリの欠点は何ですか?

Webアプリの主なデメリットとしては次のものが挙げられます。

ホーム画面にアプリが置かれない(とくにホーム画面に通知を出せないことが多くのケースでデメリットとして挙げられます)


オフラインでの実行ができない


カメラ・マイク等端末側の機能(ネイティブ機能)を使用できない

C#のWebAssembly→Blazor

C++のWebAssembly→Emscripten

F#のWebAssembly→Bolero

※プログラミングスクールではほとんど何もできないような&俺のやりたいことが何一つできないようなJavascriptばかり教えているが、Javascriptマンセーな奴らは馬鹿なの死ぬの?wwwと思った。

やはり、C++、C#、F#しか勝たん!


Androidアプリ逆コンパイル・改竄対策について

2023-10-24 00:35:16 | リバースエンジニアリング

Androidアプリの逆コンパイル対策は、Androidアプリ開発業者・販売業者にとって死活問題だ。

逆コンパイルされてソースコードが顕になると、機能制限された体験版がフル機能版として使えるように改竄されたり、サブスクリプション版が永続版に改竄されたりしてしまう。

AndroidのAPKを逆コンパイルする

2023-10-24 00:02:18 | リバースエンジニアリング

AndroidのAPKを逆コンパイルする - Qiita

AndroidのAPKを逆コンパイルする - Qiita

2年ほど前に知ってて当たり前のように教えていただきました。最近、再び逆コンパイル(デコンパイル)する機会がございましたので、Qiita記事としてメモを投稿しておこうと思...

Qiita

AndroidのAPKを逆コンパイルしたいとふと思った。

そこでググったら出てきたのがこの記事。
JAVAで作ったAPKのサンプルファイルを逆コンパイルした実演記事である。

実際、スマホにインストールした任意のアプリのAPKファイルを逆コンパイルするのは、この記事のようにすんなりいかないはずだ。


ブラウザでAutoCADが使える!?AutoCAD Web

2023-10-22 06:36:58 | Autocad

Autodesk AutoCAD Web とは

AutoCAD Web は、建築設計者、エンジニア、建設・施工スペシャリストが利用可能な信頼できるソリューションです。AutoCAD® のコア コマンドで、簡単な編集や基本的な設計に必要な操作を行えます。魅力的な価格でさまざまな機能をご利用いただけます。AutoCAD Web(旧称 AutoCAD Web アプリ、AutoCAD Mobile アプリ)では、以下のようなことができます。 

  • 使い慣れた図ツールをオンラインのシンプルなインタフェースで使用

  • 場所を問わずに DWG™ ファイルにアクセスして更新

  • 作業現場でも、設計の共同作業をすばやく行うことができます




ガ~ン_| ̄|○ il||li
スマホのGooglecromeじゃ使えないとは!!!

しかもカスタマイズ・自動化も無理だとよ。

WebAssemblyでカスタマイズ・自動化可能だと思っていたのだが・・・
それもできんということか?

ゲーミングノートでもかなりしんどいからWebAssemblyによってブラウザでサクサク使えるようにして、さらにカスタマイズ・自動化もしたかったのに・・・

体内深部超音波画像診断AI

2023-10-20 05:47:22 | python
AIを活用した超音波診断装置のノイズ除去技術 新開発
https://www.fujifilm.com/fhc/ja/news/49

体の深い領域でもより正確な検査を支援する高画質超音波画像を実現富士フイルムヘルスケア株式会社(本社:東京都港区、代表取締役社長:山本 章雄)は、超音波診断装置の画質を大幅に向上させるノイズ除去技術を開発しました。本技術は、AI技術*1を活用してエコー信号とノイズを区別し、診断に必要な信号を選択的に抽出します。この新しいノイズ除去技術により、体内深部からの信号が弱く診断が難しかったケースでも高画質な画像を提供できる超音波診断装置を実現し、より正確な超音波検査を支援します。

CTやMRIは何億円もの導入コストがかかり、使いこなすのも大変だ。
それに対して、超音波は破格のコストでしかも使い方は容易だ。

正解率94%の膵臓癌画像診断AI

2023-10-20 05:37:54 | python

「正解率は94%」AIで膵臓がんの画像診断 久留米大など

「正解率は94%」AIで膵臓がんの画像診断 久留米大など

久留米大学(福岡県久留米市)医学部を中心にした研究グループが、全国の医療機関の病理医やベンチャー企業「メドメイン」(福岡市)と共同で、診断が難しいとされる膵(…

産経ニュース

久留米大学が超音波内視鏡を使って採取した412点の膵臓がん(膵腺がん)標本を提供。これらの標本をデジタル化した。このデジタル画像を、全国の18人の病理医に見せ、がん細胞と判定した箇所をマークしてもらった。マークは2~3万カ所に上った。

こうして作成した「教師データ」をAIにディープラーニング(深層学習)させた。学習の成果を検証するため、3人の病理専門医がチェックした120点のデジタル画像を使ってAIをテスト。結果は病理医の診断と一致した「正解」が94%だった。

5年生存率が最も低い癌は膵臓癌だ。早期発見のためには画像診断だけでなく、その他様々なサインを見逃さないことも大事。


バッテリーの劣化による膨張を防ぐスマホアプリ

2023-10-20 02:02:00 | python
SH51Aのバッテリーに寿命が来たので、以下の動作をするスマホアプリをChatGPTに作ってもらったのだが…

#スマホの電池パックの充電率を取得 #任意の充電率以下になったら充電を開始する #任意の充電率以上であれば充電アダプターからの電源を遮断する #スマホ使用中(画面のタップやボタンなどの操作を検知した場合)は充電アダプターからの電源を遮断する 以上の動作をするスマホアプリのPythonプログラムをkivyライブラリーを使って書いて

from kivy.app import App from kivy.uix.boxlayout import BoxLayout from kivy.uix.label import Label from kivy.clock import Clock from kivy.uix.button import Button from kivy.uix.switch import Switch class ChargingApp(App): def build(self): self.layout = BoxLayout(orientation='vertical') # バッテリー充電率を表示するラベル self.battery_label = Label(text="充電率: 0%", font_size='20sp') self.layout.add_widget(self.battery_label) # 充電の設定 self.charge_threshold = 30 # 任意の充電率の閾値(30%と仮定) self.is_charging = False # チャージスイッチ self.charge_switch = Switch(active=self.is_charging) self.charge_switch.bind(active=self.toggle_charge) self.layout.add_widget(self.charge_switch) # スマホ使用中かどうかを判定するフラグ self.is_in_use = False # バッテリー充電率の更新を定期的に行う Clock.schedule_interval(self.update_battery_status, 5) # 5秒ごとに更新 return self.layout def update_battery_status(self, dt): # ここで実際のバッテリー充電率を取得するロジックを追加 battery_percentage = 50 # 仮の値 self.battery_label.text = "充電率: {}%".format(battery_percentage) if self.is_in_use: # スマホ使用中は充電を停止 self.stop_charge() elif battery_percentage <= self.charge_threshold: # バッテリーが指定の閾値以下になったら充電を開始 self.start_charge() elif battery_percentage > self.charge_threshold: # バッテリーが指定の閾値以上で、充電中であれば充電を停止 self.stop_charge() def toggle_charge(self, instance, value): # スイッチの状態に応じて充電を開始または停止 if value: self.start_charge() else: self.stop_charge() def start_charge(self): # 充電を開始するロジックをここに追加 self.is_charging = True self.charge_switch.active = self.is_charging print("充電を開始しました") def stop_charge(self): # 充電を停止するロジックをここに追加 self.is_charging = False self.charge_switch.active = self.is_charging print("充電を停止しました") if __name__ == '__main__': ChargingApp().run()






battery_percentage = 50 # 仮の値
battery_percentage = 90 # 仮の値
に変更してみた。

果たして機能しているのだろうか?

※誰も手動でON-OFFするボタンを付けろとは言っとらんがな、何で要らんことするんだか?

P.S.
どうやら機能していないらしいwww
しかも目茶苦茶リソースを喰っているようだ。

スマホは充電しながら使うとバッテリー(電池パック)の劣化が急加速するようだ。

所謂妊娠という現象が起き、本体のカバーが剥離し、音が出なくなったり、ボタンを押しても反応しなくなったり、いろいろ不具合が出てきて仕舞には使えなくなる。

以前は、電池パックを買ってきて裏フタを開けて簡単に交換できたが、今は内蔵式になって一体化しているようで、いちいち修理に出して分解してもらわないと電池パックの交換すらできない有り様になってしまった。

電池パック長持ちアプリなるものも出回っているようだが、俺の求めている機能があるのだろうか?


製造現場を支えるPLCの新機能、「PLCドラレコ」(オートメーションプレイバック機能)とは何か?

2023-10-12 01:36:15 | アイデア起業・アイデア売買

製造現場を支えるPLCの新機能、「PLCドラレコ」(オートメーションプレイバック機能)とは何か? | IoT NEWS

製造現場を支えるPLCの新機能、「PLCドラレコ」(オートメーションプレイバック機能)とは何か? | IoT NEWS

本記事はオムロン株式会社の協力のもと作成しています。 オムロン株式会社は2023年7月27日に「オー…

IoT NEWS